看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
all()
方法用于检查所有元素是否为 True。对于 DataFrame,可以沿指定轴进行检查;对于 Series,则检查整个序列。
pandas.Series
pandas.DataFrame
Series.all(axis=0, bool_only=False, skipna=True, **kwargs)
DataFrame.all(axis=0, bool_only=False, skipna=True, **kwargs)
Series:
pd.Series([True, True]).all()
True
pd.Series([True, False]).all()
False
pd.Series([], dtype="float64").all()
True
pd.Series([np.nan]).all()
True
pd.Series([np.nan]).all(skipna=False)
True
DataFrames:
从字典创建数据帧。
df = pd.DataFrame({'col1': [True, True], 'col2': [True, False]})
df
col1 col2
0 True True
1 True False
默认行为检查每列中的值是否都返回True。
df.all()
col1 True
col2 False
dtype: bool
指定axis='columns'以检查每行中的值是否都返回True。
df.all(axis='columns')
0 True
1 False
dtype: bool
或者axis=None表示是否每个值都为True。
df.all(axis=None)
False
all()
import pandas as pd
# 创建一个 Series
s = pd.Series([True, True, False])
print("Initial Series:")
print(s)
# 检查所有元素是否为 True
result = s.all()
print("\nAre all elements True?")
print(result)
输出:
Initial Series:
0 True
1 True
2 False
dtype: bool
Are all elements True?
False
all()
# 创建一个 DataFrame
df = pd.DataFrame({
'A': [True, True, True],
'B': [True, False, True],
'C': [True, True, True]
})
print("Initial DataFrame:")
print(df)
# 检查每列是否所有元素都为 True
result = df.all(axis=0)
print("\nAre all elements in each column True?")
print(result)
输出:
Initial DataFrame:
A B C
0 True True True
1 True False True
2 True True True
Are all elements in each column True?
A True
B False
C True
dtype: bool
all()
# 创建一个 DataFrame
df2 = pd.DataFrame({
'A': [True, True, True],
'B': [True, False, True],
'C': [True, True, False]
})
print("Initial DataFrame:")
print(df2)
# 检查每行是否所有元素都为 True
result = df2.all(axis=1)
print("\nAre all elements in each row True?")
print(result)
输出:
Initial DataFrame:
A B C
0 True True True
1 True False True
2 True True False
Are all elements in each row True?
0 True
1 False
2 False
dtype: bool
# 创建一个包含 NA 值的 DataFrame
df3 = pd.DataFrame({
'A': [True, True, None],
'B': [True, False, True],
'C': [True, None, True]
})
print("Initial DataFrame:")
print(df3)
# 检查每列是否所有元素都为 True,跳过 NA 值
result = df3.all(axis=0, skipna=True)
print("\nAre all elements in each column True (skipping NA)?")
print(result)
输出:
Initial DataFrame:
A B C
0 True True True
1 True False None
2 None True True
Are all elements in each column True (skipping NA)?
A True
B False
C True
dtype: bool
pandas 的 all()
方法提供了一种方便的方式来检查 Series 或 DataFrame 的所有元素是否都为 True。通过调整参数如 axis
和 skipna
,可以灵活地控制检查行为。这在数据清洗、验证和分析过程中非常有用。
更新时间:Aug. 7, 2024, 7:53 p.m. 标签:pandas python all