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,从而有效地忽略了缺失值。
