Pandas 中的 all()
方法用于检查 DataFrame 中的所有元素是否都满足某个特定条件。
示例
import pandas as pd
data = {'A': [True, True, True, True],
'B': [True, False, True, True]}
df = pd.DataFrame(data)
# check if all values in column 'A' are True
result = df['A'].all()
print(result)
# Output: True
all() 语法
Pandas 中 all()
方法的语法是:
df.all(axis=0, bool_only=None, skipna=True, **kwargs)
all() 参数
all()
方法接受以下参数:
axis
(可选) - 指定应用操作的轴。skipna
(可选) - 确定在评估条件时是否跳过缺失值。**kwargs
(可选) - 可以传递给函数的其他关键字参数。
all() 返回值
all()
方法返回一个布尔值,指示所有元素是否都满足指定条件。
示例 1:使用 all() 检查列中的所有值是否满足条件
import pandas as pd
# create a DataFrame
data = {'A': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
# check if all values in column A are greater than 0
condition = (df['A'] > 0).all()
if condition:
print("All values in column 'A' are greater than 0.")
else:
print("Not all values in column 'A' are greater than 0.")
输出
All values in column 'A' are greater than 0.
在上面的示例中,我们首先创建了具有名为 A
的列的 df DataFrame。
然后,我们使用 all()
方法和条件 df['A'] > 0
来检查列 A
中的所有值是否都大于 0。
由于所有值都满足条件,因此 all()
方法返回 True
。
示例 2:使用 all() 沿不同轴检查条件
import pandas as pd
data = {'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8]}
df = pd.DataFrame(data)
# check if all elements in each column are greater than 2
result_axis_0 = (df > 2).all(axis=0)
print("All elements in each column greater than 2:")
print(result_axis_0)
print()
# check if all elements in each row are greater than 2
result_axis_1 = (df > 2).all(axis=1)
print("\nAll elements in each row greater than 2:")
print(result_axis_1)
输出
All elements in each column greater than 2: A False B True dtype: bool All elements in each row greater than 2: 0 False 1 False 2 True 3 True dtype: bool
在这里,我们分别使用 axis=0
检查列中的所有元素是否都大于 2,并使用 axis=1
检查行中的所有元素是否都大于 2。
示例 3:skipna 参数在 all() 中的作用
import pandas as pd
data = {'A': [True, True, None, True],
'B': [True, None, True, True]}
df = pd.DataFrame(data)
# check if all values in column A are True, without skipping missing values
result_skipna_false = df['A'].all(skipna=False)
print("Without skipping NA values:", result_skipna_false)
# check if all values in column B are True, with skipping missing values
result_skipna_true = df['B'].all(skipna=True)
print("Skipping NA values:", result_skipna_true)
输出
Without skipping NA values: False Skipping NA values: True
在此示例中,
- 使用
skipna=False
,我们检查列A
中的所有值是否为True
,而不忽略缺失值。 - 使用
skipna=True
(默认行为),我们检查列B
中的所有非缺失值是否为True
,从而有效地忽略了缺失值。