我想在另一个名为“ Subset”的数据框中创建一个名为“ SUMIFS”的新列(即Subset ['SUMIFS'] = ...),我想知道是否可以执行像SUMIFS这样的Excel。在熊猫中跨数据框进行操作。 SUMIFS的标准为:
范围-销售['车辆计数']
条件1-销售额['汽车生产月/年'] =索赔['汽车生产月/年']
条件2-销售额['自运行日期开始的DIS'] <索赔['索赔DIS']
这是电子表格形式的销售数据框
这是电子表格形式的Claims数据框
最后,这是我在excel中使用的原始公式,我想将其转换为Python:= SUMIFS(Sales!$ D $ 2:$ D $ 1156,Sales!$ A $ 2:$ A $ 1156,索赔!B2,销售!$ E $ 2:$ E $ 1156,<“&Claims!O2)
答案 0 :(得分: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条件过滤数据,所以剩下的就是您想要的条件。您要做的就是总结一下。 (这是直接比较,另一个系列是整个系列)