РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
386 of 687 menu

Метод any

Метод any применяется к объекту GroupBy и возвращает DataFrame или Series с булевыми значениями, указывающими, содержит ли каждая группа хотя бы одно истинное значение. По умолчанию метод проверяет значения по оси 0 (строки). Параметр skipna позволяет игнорировать пропущенные значения.

Синтаксис

groupby_obj.any(skipna=True, axis=0)

Параметры

  • skipna - булевый флаг, определяющий, исключать ли пропущенные значения (True по умолчанию). Если True, то пропуски игнорируются. Если False, то наличие пропуска в группе приведёт к результату True, так как пропуск считается истинным значением.
  • axis - ось, вдоль которой применяется метод (0 для строк, 1 для столбцов).

Пример

Давайте создадим таблицу и сгруппируем данные по столбцу a, затем проверим наличие истинных значений в каждой группе:

import pandas as pd df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3], 'b': [True, False, True, True, False], 'c': [False, False, False, False, False] }) grouped = df.groupby('a') res = grouped.any() print(res)

Результат выполнения кода:

b c a 1 True False 2 True False 3 False False

Пример

Используем параметр skipna для управления обработкой пропущенных значений. В одной из групп есть пропуск:

import pandas as pd import numpy as np df = pd.DataFrame({ 'a': [1, 1, 2, 2], 'b': [True, np.nan, False, False], 'c': [False, False, True, False] }) grouped = df.groupby('a') res = grouped.any(skipna=False) print(res)

Результат выполнения кода:

b c a 1 True False 2 False True

Пример

Применим метод any к одной колонке группы с помощью оператора индексации:

import pandas as pd df = pd.DataFrame({ 'a': [1, 1, 2, 2, 3, 3], 'b': [0, 5, 0, 0, 8, 0], 'c': [0, 0, 3, 0, 0, 0] }) res = df.groupby('a')['b'].any() print(res)

Результат выполнения кода:

a 1 True 2 False 3 True Name: b, dtype: bool

Пример

Используем метод any вместе с агрегацией для проверки условия в группах:

import pandas as pd df = pd.DataFrame({ 'a': ['x', 'x', 'y', 'y', 'z'], 'b': [1, 2, 3, 4, 5], 'c': [0, 0, 6, 0, 7] }) res = df.groupby('a').any() print(res)

Результат выполнения кода:

b c a x True False y True True z True True

Смотрите также

  • метод all,
    который проверяет, все ли значения в группе истинны
  • метод agg,
    который выполняет произвольные агрегации по группам
  • метод filter,
    который фильтрует группы по условию
  • метод transform,
    который применяет функцию к каждой группе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить