📌  相关文章
📜  pandas python group by 一列并对另一列求和 - Python(1)

📅  最后修改于: 2023-12-03 14:45:02.786000             🧑  作者: Mango

pandas python group by 一列并对另一列求和 - Python

在Python中,Pandas库提供了对数据进行分组和聚合的非常强大的功能。使用groupby功能,可以对数据进行分组,然后对分组后的数据进行各种聚合操作,例如求和、平均值、计数等。

本文将介绍如何使用Pandas库对一列数据进行分组,并对另一列数据进行求和。

数据准备

我们使用一个示例数据来进行说明。该数据包含三列数据:销售员姓名、销售额、销售日期。我们的目标是对“销售员姓名”这一列进行分组,并对“销售额”这一列进行求和。

import pandas as pd

# 构造示例数据
data = {'Salesman': ['Amy','Amy','Bob','Bob','Bob','Chris','Chris','Chris'],
        'Sales': [100, 200, 300, 400, 500, 600, 700, 800],
        'Date': ['2020-01-01', '2020-03-01', '2020-02-01', '2020-03-01', '2020-04-01', '2020-01-01', '2020-02-01', '2020-03-01']}
df = pd.DataFrame(data)

运行上述代码,我们得到了一个示例数据。我们可以使用df.head()命令查看前几行数据。

df.head()

输出结果如下:

| | Salesman | Sales | Date | |---:|:-----------|--------:|:-----------| | 0 | Amy | 100 | 2020-01-01 | | 1 | Amy | 200 | 2020-03-01 | | 2 | Bob | 300 | 2020-02-01 | | 3 | Bob | 400 | 2020-03-01 | | 4 | Bob | 500 | 2020-04-01 |

对数据进行分组和求和

接下来,我们就可以使用Pandas库的groupby和sum函数对数据进行分组和求和。下面是代码片段:

# 对数据进行分组和求和
grouped = df.groupby('Salesman')['Sales'].sum()

# 打印结果
print(grouped)

代码解释如下:

  • 首先,使用df.groupby('Salesman')命令,对数据进行分组,按照“销售员姓名”这一列进行分组;
  • 然后,使用['Sales'].sum()命令,对“销售额”这一列进行求和。这个命令将返回一个Series对象,其中包含每个销售员的总销售额;
  • 最后,我们使用print命令将结果输出到控制台。

输出结果如下:

Salesman
Amy      300
Bob     1200
Chris   2100
Name: Sales, dtype: int64
结语

本文介绍了如何使用Pandas库对一列数据进行分组,并对另一列数据进行求和。该功能在数据分析和数据处理领域非常常见,掌握这个功能可以大大提高数据分析的效率。