📌  相关文章
📜  在与另一列中的唯一值相对应的列中查找值的总和 python (1)

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

在与另一列中的唯一值相对应的列中查找值的总和

有时候我们需要在 DataFrame 中查找与另一列中的唯一值相对应的列中的值的总和。在 Python 的 pandas 库中,我们可以使用 groupby 和 sum 函数来实现这个目的。

示例数据

假设我们有一个包含销售数据的 DataFrame,包含以下列:日期、地区、产品、销售数量、销售额。

import pandas as pd

df = pd.DataFrame({
    'date': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03', '2021-01-03'],
    'region': ['east', 'west', 'east', 'west', 'east', 'west'],
    'product': ['A', 'A', 'B', 'B', 'A', 'A'],
    'quantity': [10, 20, 30, 40, 50, 60],
    'revenue': [100, 200, 300, 400, 500, 600],
})

print(df)

输出:

         date region product  quantity  revenue
0  2021-01-01   east       A        10      100
1  2021-01-01   west       A        20      200
2  2021-01-02   east       B        30      300
3  2021-01-02   west       B        40      400
4  2021-01-03   east       A        50      500
5  2021-01-03   west       A        60      600
按地区汇总销售数量

假设我们需要按地区汇总销售数量,我们可以使用 groupby 函数来实现:

quantity_by_region = df.groupby('region')['quantity'].sum()

print(quantity_by_region)

输出:

region
east    90
west    120
Name: quantity, dtype: int64

这个结果告诉我们,东部地区的销售数量总和为 90,西部地区的销售数量总和为 120。

按地区和产品汇总销售数量

假设我们需要按地区和产品汇总销售数量,我们可以使用 groupby 函数并指定多个列来实现:

quantity_by_region_product = df.groupby(['region', 'product'])['quantity'].sum()

print(quantity_by_region_product)

输出:

region  product
east    A           60
        B           30
west    A           80
        B           40
Name: quantity, dtype: int64

这个结果告诉我们,东部地区的 A 产品销售数量总和为 60,B 产品销售数量总和为 30;西部地区的 A 产品销售数量总和为 80,B 产品销售数量总和为 40。

按地区和产品汇总销售额

假设我们需要按地区和产品汇总销售额,我们可以使用 groupby 函数并指定多个列,然后使用 sum 函数计算销售额总和:

revenue_by_region_product = df.groupby(['region', 'product'])['revenue'].sum()

print(revenue_by_region_product)

输出:

region  product
east    A           600
        B           300
west    A           800
        B           400
Name: revenue, dtype: int64

这个结果告诉我们,东部地区的 A 产品销售额总和为 600,B 产品销售额总和为 300;西部地区的 A 产品销售额总和为 800,B 产品销售额总和为 400。

总结

在 Python 的 pandas 库中,我们可以使用 groupby 和 sum 函数来实现在与另一列中的唯一值相对应的列中查找值的总和。我们只需要调用 groupby 函数并指定要分组的列,然后调用 sum 函数来计算总和即可。