我有以下df:
df = pd.DataFrame({'c1': [1,5,2,2,2,5],'c2':[2,2,2,2,1,2]})
c1 c2
0 1 2
1 5 2
2 2 2
3 2 2
4 2 1
5 5 2
我试图得到
c1 c2 c3
0 1 2 1
1 5 2 2
2 2 2 2
3 2 2 2
4 2 1 1
5 5 2 2
我开始
df['c3'] = df.groupby('c1')['c2'].transform('size')
但不知道如何按两列分组。
最佳答案
如果您只需要使用group by进行计数,则可以尝试以下操作
import pandas as pd
df = pd.DataFrame({'c1': [1,5,2,2,2,5],'c2':[2,2,2,2,1,2]})
print (df.groupby(['c1', 'c2']).size().reset_index(name='counts'))
关于python - 如何通过两个字段添加出现次数的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56018297/