gpt4 book ai didi

python - 什么时候使用 df.value_counts() 与 df.groupby ('...' ).count() 比较合适?

转载 作者:太空狗 更新时间:2023-10-29 17:02:20 25 4
gpt4 key购买 nike

我听说在 Pandas 中通常有多种方法可以做同样的事情,但我想知道 –

如果我尝试按特定列中的值对数据进行分组并计算具有该值的项目数,什么时候使用 df.groupby('colA').count() 有意义 什么时候使用 df['colA'].value_counts() 才有意义?

最佳答案

有区别value_counts返回:

The resulting object will be in descending order so that the first element is the most frequently-occurring element.

但是count不是,它按 index(由 groupby('col') 中的列创建)对输出进行排序。


df.groupby('colA').count() 

用于通过函数 count. 聚合 df 的所有列。因此它计算不包括 NaNs 的值。

所以如果需要count只有一列需要:

df.groupby('colA')['colA'].count() 

示例:

df = pd.DataFrame({'colB':list('abcdefg'),
'colC':[1,3,5,7,np.nan,np.nan,4],
'colD':[np.nan,3,6,9,2,4,np.nan],
'colA':['c','c','b','a',np.nan,'b','b']})

print (df)
colA colB colC colD
0 c a 1.0 NaN
1 c b 3.0 3.0
2 b c 5.0 6.0
3 a d 7.0 9.0
4 NaN e NaN 2.0
5 b f NaN 4.0
6 b g 4.0 NaN

print (df['colA'].value_counts())
b 3
c 2
a 1
Name: colA, dtype: int64

print (df.groupby('colA').count())
colB colC colD
colA
a 1 1 1
b 3 2 2
c 2 2 1

print (df.groupby('colA')['colA'].count())
colA
a 1
b 3
c 2
Name: colA, dtype: int64

关于python - 什么时候使用 df.value_counts() 与 df.groupby ('...' ).count() 比较合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47487753/

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