我有一个数据集,看起来像这样:
| 姓名|现况|活动|
| - ------|- ------|- ------|
| 简|学生|是的|
| 约翰|商人|是的|
| 埃勒|学生|没有|
| 克里斯|警察|是的|
| 约翰|商人|没有|
| 黏土|商人|是的|
我想按Status
和Name
(Activity
为“是”)对数据集进行分组,并对Name
进行计数。如果它至少有一个“是”,则将对其进行计数。
基本上,这就是我想要的输出:
学生1简
商人2约翰·克莱
警察1克里斯
我试过这些密码:
cb = (DataFrame.groupby(['Name', 'Status']).sum(DataFrame['Activity'].eq('yes')))
cb = (DataFrame.groupby(['Name', 'Status']).any(DataFrame['Activity'].eq('yes')))
cb = (DataFrame.groupby(['Name', 'Status']).nunique(DataFrame['Activity'].eq('yes')))
但是,它们都给予了这个误差:
The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
请帮我修复这个代码。谢谢你提前!
2条答案
按热度按时间yb3bgrhw1#
示例
代码
第一个月
xqnpmsa82#
检查以下内容:
输出: