我正在尝试根据列C
和A
查找列B
中的值计数。我正在尝试groupby但没有成功。我怎样才能做到这一点?
df = DataFrame({'A' : ['foo', 'foo', 'foo', 'foo',
'bar', 'bar', 'bar', 'bar'],
'B' : ['1', '1', '1', '2',
'1', '1', '2', '2'],
'C' : [2, 2, 3, 3, 2, 1, 2, 1]})
结果
A, B, C, Count
foo, 1, 2, 2
foo, 1, 3, 1
foo, 2, 3, 1
bar, 1, 1, 1
bar, 1, 2, 1
bar, 2, 1, 1
bar, 2, 2, 1
答案 0 :(得分:1)
这是你正在寻找的吗?
In [44]: table = pd.pivot_table(df, values='C', index='A',columns='B', aggfunc=len)
In [45]: df
Out[45]:
A B C
0 foo 1 2
1 foo 1 3
2 foo 1 3
3 foo 2 3
4 bar 1 2
5 bar 1 3
6 bar 2 2
7 bar 2 2
In [46]: table
Out[46]:
B 1 2
A
bar 2 2
foo 3 1