繁体   English   中英

pandas DataFrame:根据另一列中的 boolean 值计算 Sum

[英]pandas DataFrame: Calculate Sum based on boolean values in another column

我对 Python 相当陌生,我试图在 pandas 中模拟以下逻辑

在此处输入图像描述

我目前正在循环抛出行,并希望对前面行中 AMOUNT 列中的值求和,但直到最后看到的“TRUE”值。 实际数据似乎效率低下(我有大约 500 万行的 dataframe)? 想知道在 Python 中处理这种逻辑的有效方法是什么?

逻辑:逻辑是,如果 FLAG 为 TRUE,我想对前面行中 AMOUNT 列中的值求和,但只到最后看到的“TRUE”值。 基本上将 FLAG 为 TRUE 的行之间的“AMOUNT”中的值相加

检查cumsumtransform sum

df['SUM']=df.groupby(df['FLAG'].cumsum()).Amount.transform('sum').where(df.FLAG)

也许尝试以下方法:

import pandas

df = pd.read_csv('name of file.csv')

df['AMOUNT'].sum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM