可以使用pandas库中的groupby()函数来实现按组累计求和,并使用all()或any()函数来判断某一列数据是否满足条件。
代码示例:
import pandas as pd
# 构造测试数据
data = {
'Group':['A','A','B','B','B','C','C','C'],
'Value':[1,2,3,4,5,6,7,8],
'Flag':[True,True,False,True,True,False,False,True]
}
# 转换为DataFrame格式
df = pd.DataFrame(data)
# 按组累计求和
df['CumulativeSum'] = df.groupby('Group')['Value'].cumsum()
# 按组判断某一列数据是否满足条件
df['AllTrue'] = df.groupby('Group')['Flag'].transform(all)
df['AnyTrue'] = df.groupby('Group')['Flag'].transform(any)
print(df)
输出结果:
Group Value Flag CumulativeSum AllTrue AnyTrue
0 A 1 True 1 True True
1 A 2 True 3 True True
2 B 3 False 3 False True
3 B 4 True 7 False True
4 B 5 True 12 False True
5 C 6 False 6 False False
6 C 7 False 13 False False
7 C 8 True 21 False True
上一篇:按组累积连接数据表中的列