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