gpt4 book ai didi

python - 在 pandas 的 groupby 结果中添加 'count' 列?

转载 作者:太空狗 更新时间:2023-10-29 18:20:51 26 4
gpt4 key购买 nike

我认为这是一个相当基本的问题,但我似乎找不到解决方案。

我有一个类似于以下内容的 Pandas 数据框:

import pandas as pd

df = pd.DataFrame({'A' : ['x','x','y','z','z'],
'B' : ['p','p','q','r','r']})
df

它创建了一个这样的表:

    A   B
0 x p
1 x p
2 y q
3 z r
4 z r

我正在尝试创建一个表来表示该数据框中不同值的数量。所以我的目标是这样的:

    A   B   c
0 x p 2
1 y q 1
2 z r 2

不过,我找不到实现此目的的正确函数。我试过:

df.groupby(['A','B']).agg('count')

这会生成一个包含 3 行(如预期)但没有“计数”列的表格。我不知道如何在该计数列中添加。有人能指出我正确的方向吗?

最佳答案

你可以使用size

df.groupby(['A','B']).size()
Out[590]:
A B
x p 2
y q 1
z r 2
dtype: int64

为您的解决方案添加其中一列

df.groupby(['A','B']).B.agg('count')
Out[591]:
A B
x p 2
y q 1
z r 2
Name: B, dtype: int64

更新:

df.groupby(['A','B']).B.agg('count').to_frame('c').reset_index()

#df.groupby(['A','B']).size().to_frame('c').reset_index()
Out[593]:
A B c
0 x p 2
1 y q 1
2 z r 2

关于python - 在 pandas 的 groupby 结果中添加 'count' 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48770035/

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