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

【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 进行整体布尔判断和数据校验。

相关文章:

  • Java中关于多态的总结
  • 【Python-Day 11】列表入门:Python 中最灵活的数据容器 (创建、索引、切片)
  • 已解决:安卓刚打开新项目的时候,会下载该项目要求的sdk gradle,开了科学上网也慢
  • 《Spring Boot 3.0全新特性详解与实战案例》
  • 使用 NSSM 安装 Tomcat 11.0.6 为 Windows 服务
  • QT聊天项目DAY10
  • 【Golang】gin框架动态更新路由
  • WebRTC流媒体传输协议RTP点到点传输协议介绍,WebRTC为什么使用RTP协议传输音视频流?
  • 电压取样端口静电浪涌防护方案 之6TS Series瞬态抑制器TVS
  • 2025年社交APP安全防御指南:抵御DDoS与CC攻击的实战策略
  • 【免杀】C2免杀 | 概念篇
  • Python 爬虫基础入门教程(超详细)
  • 2025数字孪生技术全景洞察:从工业革命到智慧城市的跨越式发展
  • 进入虚拟机单用户模式(Linux系统故障排查)
  • Vscode 顶部Menu(菜单)栏消失如何恢复
  • Java——反射
  • 操作系统 == 内存管理
  • FAISS 与机器学习、NLP 的关系
  • android-ndk开发(11): 安装 repo 命令
  • 一场陟遐自迩的 SwiftUI + CoreData 性能优化之旅(下)
  • 湖北宜昌:在青山绿水间解锁乡村振兴“密码”
  • 【社论】职业上新,勇于“尝新”
  • 2025中国品牌日上海践行活动启动,将建设品牌生态交互平台
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 逆境之上,万物生长
  • 两部上戏学生作品亮相俄罗斯“国际大学生戏剧节”