📅  最后修改于: 2023-12-03 15:33:24.541000             🧑  作者: Mango
当我们需要对数据进行分组并计算频次时,通常会用到 Pandas 中的 groupby
方法。但是当需要按照多列进行分组时,我们该如何操作呢?本文将介绍如何使用 Pandas 按多列分组并计数。
我们有一份销售数据表格,其中包含以下几个字段:销售日期(Date)、销售员(Salesman)、产品名称(Product)和销售数量(Quantity)。我们希望按照销售日期和销售员对产品进行分组,并计算每组的销售数量。
首先,我们需要准备一份数据。本文使用 Pandas 中的 DataFrame 类来创建数据。以下是代码片段:
import pandas as pd
sales_data = {
'Date': ['2022-01-01', '2022-01-02', '2022-01-02', '2022-01-03', '2022-01-03'],
'Salesman': ['Alice', 'Alice', 'Bob', 'Bob', 'Bob'],
'Product': ['A', 'B', 'A', 'B', 'C'],
'Quantity': [7, 2, 5, 10, 8]
}
df = pd.DataFrame(sales_data)
我们可以使用 Pandas 中的 groupby
方法进行分组操作。以下是代码片段:
grouped = df.groupby(['Date', 'Salesman', 'Product']).sum()
print(grouped)
groupby
方法接收一个列表作为参数,参数中的每个元素是一个需要进行分组的字段。在本文中,我们需要按照销售日期、销售员和产品名称三个字段进行分组,因此将这三个字段都加入到了列表中。sum
方法用于计算每组的销售数量之和。
分组之后,我们可以得到如下结果:
Quantity
Date Salesman Product
2022-01-01 Alice A 7
2022-01-02 Alice B 2
Bob A 5
2022-01-03 Bob B 10
C 8
我们可以看到,按照销售日期、销售员和产品名称进行分组后,每组销售数量的和均被计算了出来。
本文介绍了如何使用 Pandas 按照多列对数据进行分组并计数。groupby
方法在数据分析中是一个比较常见的方法,掌握它可以提高我们的数据处理效率。