通过计数使熊猫数据框组具有列名

时间:2018-08-12 22:10:14

标签: python pandas

在python 3.6和pandas 0.19.0中,有一个数据框“ df”

id
abc
abc
def

我试图用id_count列创建一个数据框,该列与SQL相同:

SELECT id, COUNT(1) AS id_count FROM table group by id

理想的回报:

id  id_count
abc 2
def 1

我尝试过:

print (df.groupby(['id'])['id'].count())

返回

id
abc 2
def 1

print (df.groupby(['id'])['id'].transform('count'))

返回

0    2
1    1

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:3)

groupby的聚合函数中使用这种基于字典的格式。

df.groupby('id', as_index=False)['id'].agg({'id_count':'count'})

    id  id_count
0  abc         2
1  def         1