微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算某个级别在 Python 数据帧中的集群/组中出现的次数

如何解决计算某个级别在 Python 数据帧中的集群/组中出现的次数

我有一个带有集群的数据框。在此数据框中,我想计算特定值在集群内出现的次数。例如:

data = {'cluster':['1001','1001','1002','1002'],'attribute':['1','2','1','2']}

df = pd.DataFrame(data)

df

我想计算每个集群中“1”出现了多少次。我曾尝试使用 lambda 函数,虽然尝试在集群内部求平均值,但计数不起作用。

为了求平均值,我使用了:

df['newcol'] = df.groupby('cluster')['attribute'].transform(lambda x: x.mean())
df

使用相同,但均值替换为计数:

df['newcol'] = df.groupby('cluster')['attribute'].transform(lambda x: x.count('2'))
df

给我这个错误

错误:'请求的级别 (3) 与索引名称不匹配 (无)'

理想情况下,我想将计数添加为附加列,因此我使用了 lambda 函数

请帮我解决这个问题!如果需要任何其他详细信息或我不清楚,我很乐意添加信息!

编辑

谢谢,@Rutger 提供了我想要的东西。在一个要点中,我希望创建一个新列,以显示属性在集群中出现的次数。我还需要它是可概括的,以便可以计算所有属性

另外,我的数据框包含大约 600,000 行。有没有推荐的方法可以从这个数据集中取出一大块,以便我可以做我的工作?如果其他地方有类似的答案,请指出相同的答案!谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。