gpt4 book ai didi

python - Pandas 中的 SQL 计数相当于什么

转载 作者:行者123 更新时间:2023-11-30 22:32:39 25 4
gpt4 key购买 nike

在 sql 中,从表 a group by a.name 中选择 a.*,count(a.id) as N 将为我提供一个新列“N”,其中包含按规范分组的计数。

但是在 pandas 中,如果我尝试 df['name'].value_counts(),我会得到计数,但不会得到原始数据框中的列。

有没有办法在一个步骤/语句中将计数作为原始数据帧中的列来获取?

最佳答案

看来你需要 groupby + transform功能size :

df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'name':list('aaabcc')})

print (df)
A B C D E name
0 a 4 7 1 5 a
1 b 5 8 3 3 a
2 c 4 9 5 6 a
3 d 5 4 7 9 b
4 e 5 2 1 2 c
5 f 4 3 0 4 c

df['new'] = df.groupby('name')['name'].transform('size')
print (df)
A B C D E name new
0 a 4 7 1 5 a 3
1 b 5 8 3 3 a 3
2 c 4 9 5 6 a 3
3 d 5 4 7 9 b 1
4 e 5 2 1 2 c 2
5 f 4 3 0 4 c 2

What is the difference between size and count in pandas?

关于python - Pandas 中的 SQL 计数相当于什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45400453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com