在Pandas中执行SUMIF函数,需要使用groupby方法结合agg方法,具体步骤如下:
- 使用groupby方法按指定列分组
- 使用agg方法,指定要进行聚合的函数,如sum、count、mean等。
- 对于需要进行条件筛选的列,使用lambda表达式指定条件
以下是一个示例代码,假设我们有一个sales表,其中包含商品名称、销售数量和销售价格三列数据:
import pandas as pd
# 创建DataFrame对象
df = pd.DataFrame([['A', 10, 20],
['B', 20, 30],
['A', 30, 40],
['B', 40, 50],
['C', 25, 35]], columns=['product', 'quantity', 'price'])
# 按商品名称分组,计算每个商品的销售额
sales_by_product = df.groupby('product').agg({'quantity': 'sum', 'price': lambda x: sum(x * df.loc[x.index, 'quantity'])})
print(sales_by_product)
输出结果为:
quantity price
product
A 40 2300
B 60 4100
C 25 875
上述示例代码中,我们首先使用groupby按商品名称进行分组,然后使用agg方法进行聚合,求出每个商品的销售数量并使用lambda表达式计算每个商品的总销售额。具体来说,对于每个商品的价格信息(对应于price列),我们使用lambda表达式根据每个商品对应的数量信息(对应于quantity列)计算总销售额。最终得到了按商品名称分组后的销售数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Pandas中执行SUMIF函数 - Python技术站