DataFrame.all(axis=0, bool_only=None, skipna=True, level=None, **kwargs) [source]
返回是否所有元素都为真(可能在轴上)。
返回True,除非在一个series中或沿着Dataframe轴至少有一个元素是假的或等效的(例如zero 或 empty)。
参数: | axis : {0 或 ‘index’, 1 或 ‘columns’, None}, 默认 0 指出哪个轴或哪个轴应该减少。 0 / ‘index’ : 减少索引,返回索引为原始列标签的Series。 1 / ‘columns’ : 减少列,返回一个索引为原始索引的Series。 None : 减少所有轴,返回一个标量。 bool_only : 只包含布尔列。如果没有,将尝试使用一切, 然后只使用布尔数据。不适用于Series。 skipna : 排除NA/null值。如果整个row/column为NA, 并且skipna为 结果将为 那么NA就被当作 level : int 或 level name, 默认 如果轴是一个多索引(层次结构), 则沿着特定的level进行计数,并折叠成一个 **kwargs : any, 默认 None 附加关键字没有效果,但是可以接受与 |
返回: |
如果指定了level,则返回 |
例子,
1)基本用法
import pandas as pd import numpy as np # 创建一个示例DataFrame data = { 'A': [True, True, False], 'B': [True, True, True], 'C': [True, np.nan, True] } df = pd.DataFrame(data) # 检查每列是否所有元素都为 True print(df.all())
2)沿行方向操作
import pandas as pd import numpy as np # 创建一个示例DataFrame data = { 'A': [True, True, False], 'B': [True, True, True], 'C': [True, np.nan, True] } df = pd.DataFrame(data) # 检查每行是否所有元素都为 True print(df.all(axis=1))
3)包含NaN值
import pandas as pd import numpy as np # 创建一个示例DataFrame data = { 'A': [True, True, False], 'B': [True, True, True], 'C': [True, np.nan, True] } df = pd.DataFrame(data) # 检查时不跳过NaN值 print(df.all(skipna=False))
4)只考虑布尔值列
import pandas as pd import numpy as np # 创建一个包含非布尔值的DataFrame data = { 'A': [True, True, False], 'B': [True, True, 1], 'C': [True, np.nan, 'Yes'] } df = pd.DataFrame(data) # 只考虑布尔值列 print(df.all(bool_only=True))
5)Series 使用示例
import pandas as pd import numpy as np # 示例1:Series中所有元素都为True s1 = pd.Series([True, True]) print("Series s1 all:", s1.all()) # 输出: True # 示例2:Series中有一个元素为False s2 = pd.Series([True, False]) print("Series s2 all:", s2.all()) # 输出: False # 示例3:空的Series s3 = pd.Series([], dtype=bool) print("Series s3 all:", s3.all()) # 输出: True # 示例4:Series中包含NaN值 s4 = pd.Series([np.nan]) print("Series s4 all:", s4.all()) # 输出: True # 示例5:Series中包含NaN值,不跳过NaN值 s5 = pd.Series([np.nan]) print("Series s5 all (skipna=False):", s5.all(skipna=False)) # 输出: True
6)DataFrame 使用示例
import pandas as pd # 从字典中创建一个DataFrame df = pd.DataFrame({'col1': [True, True], 'col2': [True, False]}) print("DataFrame df:") print(df) # 输出: # col1 col2 # 0 True True # 1 True False # 默认行为检查每列的值是否都为True print("\nDataFrame df all (default):") print(df.all()) # 输出: # col1 True # col2 False # dtype: bool # 指定axis='columns',检查每行的值是否都为True print("\nDataFrame df all (axis='columns'):") print(df.all(axis='columns')) # 输出: # 0 True # 1 False # dtype: bool # 检查整个DataFrame的所有值是否都为True print("\nDataFrame df all (axis=None):") print(df.all(axis=None)) # 输出: False