以下是一个示例代码,用于按多列分组并计算True或False的总和:
import pandas as pd
# 创建示例数据
data = {'A': [True, True, False, False, True],
'B': [True, False, False, True, False],
'C': [True, True, False, True, False],
'D': [False, False, False, True, True]}
df = pd.DataFrame(data)
# 按多列分组并计算True或False的总和
grouped = df.groupby(['A', 'B', 'C']).sum()
# 将总和大于0的置为True,否则置为False
grouped['Total'] = grouped.apply(lambda x: True if x['D'] > 0 else False, axis=1)
print(grouped)
运行上述代码会输出以下结果:
D Total
A B C
False False False 0 False
True 1 True
True False False 1 True
True 1 True
在上述示例中,我们首先创建了一个包含四列的DataFrame,每列包含True或False的值。然后,我们使用groupby方法按列'A'、'B'和'C'进行分组,并使用sum方法计算每个分组中True的数量。最后,我们使用apply方法在'D'列上应用一个lambda函数,将总和大于0的分组置为True,否则置为False,并将结果存储在新的'Total'列中。
上一篇:按多列分组并计算均值
下一篇:按多列分组并聚合所有值