首页 >后端开发 >Python教程 >如何计算 Pandas DataFrame 列中值的频率?

如何计算 Pandas DataFrame 列中值的频率?

Linda Hamilton
Linda Hamilton原创
2024-12-10 21:22:11757浏览

How Can I Count the Frequency of Values in a Pandas DataFrame Column?

计算数据框列中值的频率

给定一个包含分类值的列的数据框,您可能会遇到需要计算频率的情况每个唯一值出现的次数。

考虑以下内容dataframe:

category
cat a
cat b
cat a

要检索不同值及其相应的频率,请按照以下步骤操作:

使用 value_counts()

按照建议@DSM,利用 value_counts() 来完成此任务任务:

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

输出:

b    3
a    2
s    2
dtype: int64

使用 groupby() 和 count()

或者,你可以使用 groupby() 和count():

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

输出:

   a
a   
a  2
b  3
s  2

[3 rows x 1 columns]

其他选项:

欲了解更多信息,请参阅到 pandas 文档https://pandas.pydata.org。

将频率重新合并到数据框中

如果您希望将频率值添加回原始数据框,您可以利用transform()与count():

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

输出:

   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]

以上是如何计算 Pandas DataFrame 列中值的频率?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn