微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python 中创建频率分布表

如何解决在 Python 中创建频率分布表

我是 Python 和 Pandas 的新手,我正在努力从我的 df 中创建频率分布表。

我的数据框是这样的:

余额 重量
10 7
11 15
12 30
13 20
10 15
13 20

编辑:余额编号是其各自的 ID

我需要使用的每个天平的频率(在本例中,天平 10 将是 2,依此类推)测量结果的最小值、最大值和平均值。

我要使用 df.groupby(['balances']) 但是我如何使用结果表单使用 df.groupby 创建一个新表?是这样吗?

解决方法

您不需要使用groupby,而是使用Series.value_counts

In [1619]: df.Balances.value_counts()
Out[1619]: 
10    2
13    2
11    1
12    1
Name: Balances,dtype: int64

要创建另一个 df,请执行以下操作:

In [1628]: df1 = df.Balances.value_counts().reset_index(name='Frequency').rename(columns={'index':'Balances'})

In [1629]: df1
Out[1629]: 
   Balances  Frequency
0        10          2
1        13          2
2        11          1
3        12          1
,

df.groupby(['balances']).count() 应该可以解决您的问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。