我有以下数据框:
key1 key2
0 a one
1 a two
2 b one
3 b two
4 a one
5 c two
现在,我要按key1
对数据帧进行分组,并使用值"one"
对列key2
进行计数,以获得以下结果:
key1
0 a 2
1 b 1
2 c 0
我只是按惯例数数:
df.groupby(['key1']).size()
但我不知道如何插入条件。
我尝试过这样的事情:
df.groupby(['key1']).apply(df[df['key2'] == 'one'])
但我不能再继续下去了。我该怎么做?
Tags:
选项1
选项2
选项3
选项4
选项5
您可以在“key2”列中为groupby数据帧计算“one”的出现次数,如下所示:
df.groupby('key1')['key2'].apply(lambda x: x[x == 'one'].count())
屈服
我想你需要先附加条件:
或者将^{} 与
key1
一起使用,则通过size
添加缺少的值:如果需要所有组合:
相关问题 更多 >
编程相关推荐