当前位置: 首页 > ops >正文

【Pandas】pandas DataFrame all

Pandas2.2 DataFrame

Computations descriptive stats

方法描述
DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值
DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 True

pandas.DataFrame.all()

pandas.DataFrame.all() 方法用于判断 DataFrame 中是否所有元素在指定轴上都为 True。它是进行逻辑“与”操作的聚合函数,常用于检查数据是否满足某些布尔条件。


一、方法签名
DataFrame.all(axis=0, bool_only=None, skipna=True)
参数说明:
参数类型描述
axis{0/‘index’, 1/‘columns’}, 默认 0指定判断方向:0 表示按列判断(返回每列是否全为 True),1 表示按行判断(返回每行是否全为 True)
bool_onlybool, 默认 None若为 True,仅考虑布尔类型的列;若为 False,则尝试将非布尔列转换为布尔值进行判断(如 0 为 False,非零为 True)
skipnabool, 默认 True是否跳过 NaN 值。若为 TrueNaN 被视为不影响判断;若为 False,含 NaN 的行/列结果为 NaN

二、返回值
  • 返回一个 Series,表示每一行或每一列是否全部为 True
  • axis=0,索引为列名;若 axis=1,索引为行索引。

三、使用示例及结果
示例1:默认参数(按列判断)
import pandas as pddf = pd.DataFrame({'A': [True, True, True],'B': [True, False, True],'C': [1, 2, 3],'D': [0, 1, 2]
})result = df.all()
print(result)

输出:

A     True
B    False
C     True
D    False
dtype: bool

解释:

  • 列 A 全为 TrueTrue
  • 列 B 含有 FalseFalse
  • 列 C 非零值都被视为 TrueTrue
  • 列 D 含有 0False

示例2:按行判断(axis=1
result = df.all(axis=1)
print(result)

输出:

0     True
1    False
2     True
dtype: bool

解释:

  • 第0行:[True, True, 1, 0] → 所有值为真?True(注意:0 是 False)
  • 第1行:[True, False, 2, 1] → 包含 FalseFalse
  • 第2行:[True, True, 3, 2] → 全部为真 → True

示例3:设置 bool_only=True
result = df.all(bool_only=True)
print(result)

输出:

A     True
B    False
dtype: bool

解释:

  • 只考虑布尔类型列(即列 A 和 B),忽略数值列 C 和 D。

示例4:设置 skipna=False 并包含 NaN
import numpy as npdf_with_nan = pd.DataFrame({'X': [True, np.nan, True],'Y': [False, True, True]
})result = df_with_nan.all(skipna=False)
print(result)

输出:

X       NaN
Y     False
dtype: object

解释:

  • 列 X 含有 NaN,且 skipna=False → 结果为 NaN
  • 列 Y 含有 False → 整体为 False

四、适用场景
场景描述
数据校验检查某列或某行是否全部满足某个布尔条件(如非空、非零等)
特征筛选在机器学习中判断某些布尔特征是否全部为 True
异常检测检查是否存在 False 值,从而发现异常情况

五、注意事项
  • 非布尔列会被自动转换为布尔值(如 0 → False,非零 → True)
  • NaN 值默认被跳过(不影响判断),可通过 skipna=False 改变行为
  • bool_only=True 时,只作用于布尔类型列,忽略其他类型列

六、总结
特性描述
功能判断 DataFrame 中每个列或行是否所有元素都为 True
适用类型布尔列、数值列(自动转换为布尔)
NaN 处理默认跳过,可设为 skipna=False 显示 NaN
是否修改原数据否,返回新 Series

all() 是一个非常实用的逻辑聚合函数,适用于对 DataFrame 进行整体布尔判断和数据校验。

http://www.xdnf.cn/news/4922.html

相关文章:

  • levelDB的数据查看(非常详细)
  • 摩斯密码详解
  • 基于论文《大规模电动汽车充换电设施可调能力聚合评估与预测》开发者说明文档
  • EXCEL中嵌入其他表格等文件
  • 电子电路:白炽灯发光能说明电子正在消散消失吗?
  • 小刚说C语言刷题—1004阶乘问题
  • 深入了解阻塞队列的实现
  • MySQL性能分析工具:SHOW PROCESSLIST
  • Mac电脑远程连接window系统服务器
  • 自定义分区器
  • 车载以太网转USB接口工具选型指南(2025版)
  • C++ stl中的list的相关函数用法
  • 学习黑客搜索技巧
  • Open CASCADE学习|实现裁剪操作
  • keepalived详细笔记
  • 2025 年数维杯数学建模 C 题完整论文代码模型:清明时节雨纷纷,何处踏青不误春
  • .net/C#进程间通信技术方案总结
  • C#黑魔法:鸭子类型(Duck Typing)
  • ChatGPT深度研究功能革新:GitHub直连与强化微调
  • qtcreater配置opencv
  • 对golang中CSP的理解
  • 34.笔记1
  • 【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(二)
  • 多线程面试题总结
  • python 上海新闻爬虫, 上观新闻 + 腾讯新闻
  • C 语言中的 对象(object),值(Value),类型(Type)
  • C++ Lambda表达式应用详解
  • python实现点餐系统
  • MCP专题| 突破LLM三大瓶颈!模型上下文协议(MCP)如何重塑AI交互体验?
  • 高可用系统架构演进史——从单体节点到分布式系统的继承权治理方案