Python 按计数使数据帧组具有列名

Python 按计数使数据帧组具有列名,python,pandas,Python,Pandas,在python 3.6和0.19.0中,有一个数据帧“df” 我正在尝试创建一个带有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']

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

我正在尝试创建一个带有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
返回

id
abc 2
def 1

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

有什么想法吗?谢谢大家!

在聚合函数中与
groupby
一起使用此基于词典的格式

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

    id  id_count
0  abc         2
1  def         1