计算Pandas数据框架中项目集的频率

  • Post category:Python

使用 Pandas 数据框架中的 value_counts() 方法可以计算项目集的频率,具体步骤如下:

  1. 安装 Pandas 库并导入:
import pandas as pd
  1. 创建数据框架:
df = pd.DataFrame({'fruit': ['apple', 'banana', 'cherry', 'apple', 'banana', 'apple'], 
                   'quantity': [2, 1, 3, 5, 2, 1]})

该数据框架有两列(‘fruit’和‘quantity’),其中‘fruit’列为水果名称,‘quantity’列为该种水果的数量。

  1. 计算频率:
frequency = df['fruit'].value_counts()
print(frequency)

运行结果如下:

apple     3
banana    2
cherry    1
Name: fruit, dtype: int64

其中第一列为项目集的名称,第二列为频率。我们可以看到,苹果出现了3次,香蕉出现了2次,樱桃出现了1次。

除了用于计算单一列的项目集频率,value_counts() 方法还可以用于计算整个数据框架中所有列的项目集频率:

total_frequency = df.apply(pd.Series.value_counts).fillna(0)
print(total_frequency)

运行结果如下:

        fruit  quantity
1.0      0.0       2.0
2.0      0.0       2.0
3.0      1.0       1.0
5.0      0.0       1.0
apple    3.0       1.0
banana   2.0       1.0
cherry   1.0       1.0

在结果中,每行代表一个项目集,每列代表数据框架中一个列的名称。值为0的格子表示该项目集在对应列中未出现。我们可以看到,‘apple’出现了3次,总量为1,‘banana’出现了2次,总量为1,‘cherry’出现了1次,总量为1,1出现了2次,总量为0,2出现了2次,总量为0,3出现了1次,总量为1,5出现了1次,总量为0。