我想在另一个名为“Subset”的数据框中创建一个名为“SUMIFS”的新列(即Subset ['SUMIFS'] = ...),我想知道是否可以跨数据帧执行类似SUMIFS操作的excel在熊猫。 SUMIFS的标准是:
sumrange - 销售['车辆数量']
标准1 - 销售['车辆生产月/年'] =索赔['车辆生产月/年']
标准2 - 销售['自运行日期起'DIS'] <索赔['索赔DIS']
这是电子表格形式的销售数据框架
以下是电子表格形式的声明数据框
最后,这里是我在excel中使用的原始公式,我想转换为Python:= SUMIFS(销售!$ D $ 2:$ D $ 1156,销售!$ A $ 2:$ A $ 1156,声明!B2,销售!$ E $ 2:$ E $ 1156,<“和索赔!O2)
如果你已经在Python中有两个数据框,那么你可以简单地做到这一点。注意:这仅在两个数据帧都已排序时才有效。 (如果您有一个ID列,请在运行以下代码之前对其进行排序)
Sales['Vehicle Count'][
(Sales['Vehicle Production Month/Year'] == Claims['Vehicle Production Month/Year'])
& ['DIS since RUN DATE'] < Claims['Claim DIS'])
].sum()
我本质上是通过两个if条件过滤数据,所以剩下的是你想要的。你所要做的就是总结一下。 (这是一个直接的比较,整个系列由另一个系列)