1

我有一个看起来像这样的数据框:

   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

我尝试了一个数据透视表,但最终出现“索引包含重复条目错误”。吨

4

2 回答 2

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)
于 2013-10-01T14:11:22.117 回答
0

您可以使用以下命令在一行中执行此操作groupby

df.groupby('tt')['oo'].value_counts()
Out[8]: 
tt    
g   gh    2
    jj    1
t   gh    2
dtype: int64
于 2013-10-01T14:11:14.717 回答