Python / Pandas:跨数据帧的复杂Excel SUMIFS

问题描述 投票:0回答:1

我正在使用两个数据框架,一个名为Sales,图为enter image description here

还有一个名为Claims的数据框,如图所示enter image description here

我想在另一个名为“Subset”的数据框中创建一个名为“SUMIFS”的新列(即Subset ['SUMIFS'] = ...),我想知道是否可以跨数据帧执行类似SUMIFS操作的excel在熊猫。 SUMIFS的标准是:

sumrange - 销售['车辆数量']

标准1 - 销售['车辆生产月/年'] =索赔['车辆生产月/年']

标准2 - 销售['自运行日期起'DIS'] <索赔['索赔DIS']

这是电子表格形式的销售数据框架

enter image description here

以下是电子表格形式的声明数据框

enter image description here

最后,这里是我在excel中使用的原始公式,我想转换为Python:= SUMIFS(销售!$ D $ 2:$ D $ 1156,销售!$ A $ 2:$ A $ 1156,声明!B2,销售!$ E $ 2:$ E $ 1156,<“和索赔!O2)

python pandas dataframe sumifs
1个回答
0
投票

如果你已经在Python中有两个数据框,那么你可以简单地做到这一点。注意:这仅在两个数据帧都已排序时才有效。 (如果您有一个ID列,请在运行以下代码之前对其进行排序)

Sales['Vehicle Count'][
(Sales['Vehicle Production Month/Year'] == Claims['Vehicle Production Month/Year'])
& ['DIS since RUN DATE'] < Claims['Claim DIS'])
].sum()

我本质上是通过两个if条件过滤数据,所以剩下的是你想要的。你所要做的就是总结一下。 (这是一个直接的比较,整个系列由另一个系列)

© www.soinside.com 2019 - 2024. All rights reserved.