【Pandas】pandas DataFrame all

打印 上一主题 下一主题

主题 1875|帖子 1875|积分 5625

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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。它是举行逻辑“与”操纵的聚合函数,常用于检查数据是否满足某些布尔条件。

一、方法签名

  1. 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 值。若为 True,NaN 被视为不影响判断;若为 False,含 NaN 的行/列结果为 NaN
二、返回值



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

三、使用示例及结果

示例1:默认参数(按列判断)

  1. import pandas as pd
  2. df = pd.DataFrame({
  3.     'A': [True, True, True],
  4.     'B': [True, False, True],
  5.     'C': [1, 2, 3],
  6.     'D': [0, 1, 2]
  7. })
  8. result = df.all()
  9. print(result)
复制代码
输出:
  1. A     True
  2. B    False
  3. C     True
  4. D    False
  5. dtype: bool
复制代码
解释:


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

示例2:按行判断(axis=1)

  1. result = df.all(axis=1)
  2. print(result)
复制代码
输出:
  1. 0     True
  2. 1    False
  3. 2     True
  4. dtype: bool
复制代码
解释:


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

示例3:设置 bool_only=True

  1. result = df.all(bool_only=True)
  2. print(result)
复制代码
输出:
  1. A     True
  2. B    False
  3. dtype: bool
复制代码
解释:


  • 只思量布尔范例列(即列 A 和 B),忽略数值列 C 和 D。

示例4:设置 skipna=False 并包含 NaN

  1. import numpy as np
  2. df_with_nan = pd.DataFrame({
  3.     'X': [True, np.nan, True],
  4.     'Y': [False, True, True]
  5. })
  6. result = df_with_nan.all(skipna=False)
  7. print(result)
复制代码
输出:
  1. X       NaN
  2. Y     False
  3. 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 举行整体布尔判断和数据校验。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表