在 Python 中创建频率分布 table

Creating a frequency distribution table in Python

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

我的数据框是这样的:

Balances Weight
10 7
11 15
12 30
13 20
10 15
13 20

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

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

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

df.groupby(['balances']).count() 应该能解决您要找的问题

您不需要使用 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