如何为动态生成的Pandas DataFrame添加逻辑或结果列?
Pandas 生成布尔列逻辑或汇总列
解决方案
先构造示例数据:
import pandas as pd data = { 'A': [True, False, False], 'B': [True, True, False], 'C': [False, False, False] } df = pd.DataFrame(data)
直接使用any()方法按行计算所有列的逻辑或,新增OR列:
df['OR'] = df.any(axis=1)
执行后得到的结果:
| A | B | C | OR |
|---|---|---|---|
| True | True | False | True |
| False | True | False | True |
| False | False | False | False |
进阶处理(若存在非布尔列)
如果DataFrame中包含非布尔类型的列,可先筛选出布尔列再计算:
# 筛选所有布尔类型的列 bool_columns = df.select_dtypes(include='bool').columns # 仅对布尔列执行逻辑或运算 df['OR'] = df[bool_columns].any(axis=1)
内容的提问来源于stack exchange,提问作者Grzegorz Szymala
相关产品推荐
相关产品推荐

