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

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

Linda Hamilton
发布: 2024-12-10 21:22:11
原创
758 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板