python - 遍历 pandas 列
问题描述
我有一个包含以下列的数据框:
User_id PQ TGGS PAG Games_played
118399 8.536585 7.079646 10.204082 7.711443
212651 75.000000 73.684211 75.000000 46.534653
210314 60.000000 9.523810 33.333333 14.414414
列实际上是游戏代码。我实际上想根据用户玩游戏的百分比来推荐用户玩游戏。在我的数据集中,用户 212651 玩了 75% 的时间 PQ 游戏和 73% 的时间 TGGS 游戏。所以如果玩PQ,他很可能会玩TGGS。现在这个值变化很大。所以我设置的参数是50%。所以对于一个用户,如果一个特定的游戏与另一个游戏有 50% 的关联,我想给他发送一封电子邮件,说明下一个是 TGGS 游戏,因为这两个值是高度关联的。
我想保持 50% 的值之间的关联关系。所以我写的代码是
for i, num in new_df['PQ'].iteritems():
if num > new_df['TGGS'] * .5:
print User_id[num]
print new_df['TGGS']
我在第 2 行遇到语法错误。
1467 "indexers [{key}] of {kind}".format(
1468 form=form, klass=type(self), key=key,
-> 1469 kind=type(key)))
1470
1471 def get_duplicates(self):
TypeError: cannot do label indexing on <class 'pandas.core.indexes.range.RangeIndex'> with these indexers [8.536585365853659] of <class 'numpy.float64'>
有人可以给我一个很好的解决方案。
最终目标是获得一个带有 user_id 的数据名,如果 PQ 与 TGGS True 相关,则与 PAG True 相关。这样我就可以向该特定用户发送电子邮件
解决方案
您可以仅选择数据框中所需的项目:
df[df['PQ'] > (df['TGGs'] * 0.5)]
推荐阅读
- android - ExoPlayer 发布后如何重新初始化?
- ruby-on-rails - Rails 5远程表单使用虚拟属性重定向到不同的页面
- inheritance - 无法继承命名查询
- reactjs - 监视在 onPress 上出现警报时已调用的方法
- python - TensorBoard 错误 - [WinError 2] 系统找不到指定的文件
- c++ - 如何同时链接静态和动态库?
- laravel - 使用 spatie/laravel-backup 进行 Laravel 备份 - 没有为备份目标设置磁盘 - Google Cloud Storage
- java - p7s 文件和 javamail
- java - @Configuration 类中的线程安全和资源泄漏
- python - 如何在 Python 中将图像数组转换为二维数组