我有一个类似于:
的数据框 tt oo
0 g gh
1 g jj
2 g gh
3 t gh
4 t gh
我想最终得到一个新的数据框,汇总在'tt'上,给出'oo'列的计数,使它看起来像:
gh jj
g 2 1
t 2 0
我尝试了一个数据透视表,但结果是“索引包含重复条目错误”。 吨
答案 0 :(得分:3)
dfrm1 = pandas.DataFrame({'tt':['g', 'g', 'g', 't', 't'],
'oo':['gh', 'jj', 'gh', 'gh', 'gh']})
dfrm1.groupby('tt')['oo'].value_counts().unstack(level=1).fillna(0.0)
答案 1 :(得分:0)
您可以使用groupby
在一行中执行此操作:
df.groupby('tt')['oo'].value_counts()
Out[8]:
tt
g gh 2
jj 1
t gh 2
dtype: int64