如何解决计算某个级别在 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
给我这个错误:
理想情况下,我想将计数添加为附加列,因此我使用了 lambda 函数。
请帮我解决这个问题!如果需要任何其他详细信息或我不清楚,我很乐意添加信息!
编辑
谢谢,@Rutger 提供了我想要的东西。在一个要点中,我希望创建一个新列,以显示该属性在集群中出现的次数。我还需要它是可概括的,以便可以计算所有属性。
另外,我的数据框包含大约 600,000 行。有没有推荐的方法可以从这个数据集中取出一大块,以便我可以做我的工作?如果其他地方有类似的答案,请指出相同的答案!谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。