Pandas all()

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

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战