繁体   English   中英

遍历熊猫专栏

[英]Iterating through pandas column

我有一个包含以下列的数据框:

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)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM