gpt4 book ai didi

python - 计算一个值在数据框列中出现的频率

转载 作者:IT老高 更新时间:2023-10-28 12:12:27 26 4
gpt4 key购买 nike

我有一个数据集

category
cat a
cat b
cat a

我希望能够返回类似(显示唯一值和频率)

category   freq 
cat a 2
cat b 1

最佳答案

使用 value_counts()正如@DSM 评论的那样。

In [37]:
df = pd.DataFrame({'a':list('abssbab')})
df['a'].value_counts()

Out[37]:

b 3
a 2
s 2
dtype: int64

还有 groupbycount。这里有很多剥猫皮的方法。

In [38]:
df.groupby('a').count()

Out[38]:

a
a
a 2
b 3
s 2

[3 rows x 1 columns]

the online docs .

如果您想将频率添加回原始数据帧,请使用 transform 返回对齐索引:

In [41]:
df['freq'] = df.groupby('a')['a'].transform('count')
df

Out[41]:

a freq
0 a 2
1 b 3
2 s 2
3 s 2
4 b 3
5 a 2
6 b 3

[7 rows x 2 columns]

关于python - 计算一个值在数据框列中出现的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391433/

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