gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 14:00:00 26 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() 

用于聚合 df 的所有列按功能 count.所以它计算不包括 NaN 的值s。

所以如果需要 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/50952294/

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