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

Метод count

Метод count применяется к объекту Resampler, который создаётся при помощи метода resample у DataFrame или Series с временным индексом. Он возвращает количество непустых значений (не NaN) в каждой группе, образованной в результате передискретизации. В отличие от метода size, который считает все элементы, count учитывает только непропущенные значения.

Синтаксис

resampler.count()

Метод не принимает параметров и возвращает DataFrame или Series с количеством непустых значений для каждого временного интервала.

Пример

Создадим таблицу с временным индексом и выполним передискретизацию по дням с подсчётом непустых значений:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }, index=pd.date_range('2026-01-01', periods=5, freq='D')) print(df)

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

a b 2026-01-01 1 10 2026-01-02 2 20 2026-01-03 3 30 2026-01-04 4 40 2026-01-05 5 50

Теперь выполним передискретизацию с периодом в 2 дня и подсчитаем количество непустых значений:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }, index=pd.date_range('2026-01-01', periods=5, freq='D')) res = df.resample('2D').count() print(res)

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

a b 2026-01-01 2 2 2026-01-03 2 2 2026-01-05 1 1

Как видно из результата, в первый интервал (2026-01-01) попали два значения (за 1 и 2 января), во второй интервал (2026-01-03) - два значения (за 3 и 4 января), а в третий интервал (2026-01-05) - одно значение (за 5 января).

Пример

Рассмотрим разницу между методами count и size. Создадим таблицу с пропущенными значениями:

import pandas as pd import numpy as np df = pd.DataFrame({ 'a': [1, 2, np.nan, 4, 5], 'b': [10, np.nan, 30, np.nan, 50] }, index=pd.date_range('2026-01-01', periods=5, freq='D')) print(df)

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

a b 2026-01-01 1.0 10.0 2026-01-02 2.0 NaN 2026-01-03 NaN 30.0 2026-01-04 4.0 NaN 2026-01-05 5.0 50.0

Выполним передискретизацию по дням и применим оба метода:

import pandas as pd import numpy as np df = pd.DataFrame({ 'a': [1, 2, np.nan, 4, 5], 'b': [10, np.nan, 30, np.nan, 50] }, index=pd.date_range('2026-01-01', periods=5, freq='D')) resampler = df.resample('2D') print('count:') print(resampler.count()) print('\nsize:') print(resampler.size())

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

count: a b 2026-01-01 1 1 2026-01-03 1 1 2026-01-05 2 1 size: 2026-01-01 2 2026-01-03 2 2026-01-05 1 dtype: int64

Метод count посчитал только непустые значения в каждом интервале, а size - все элементы, включая пропуски.

Пример

Применим метод count к объекту Series для подсчёта непустых значений по месяцам:

import pandas as pd import numpy as np ser = pd.Series( [1, 2, np.nan, 4, 5, 6, 7, 8, 9], index=pd.date_range('2026-01-01', periods=9, freq='D') ) print(ser)

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

2026-01-01 1.0 2026-01-02 2.0 2026-01-03 NaN 2026-01-04 4.0 2026-01-05 5.0 2026-01-06 6.0 2026-01-07 7.0 2026-01-08 8.0 2026-01-09 9.0 Freq: D, dtype: float64

Выполним передискретизацию по месяцам и подсчитаем количество непустых значений:

import pandas as pd import numpy as np ser = pd.Series( [1, 2, np.nan, 4, 5, 6, 7, 8, 9], index=pd.date_range('2026-01-01', periods=9, freq='D') ) res = ser.resample('M').count() print(res)

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

2026-01-31 8 Freq: M, dtype: int64

Метод вернул количество непустых значений за январь 2026 года, исключив одно пропущенное значение (NaN).

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

  • метод size,
    который возвращает общее количество элементов в интервалах
  • метод nunique,
    который считает количество уникальных значений в интервалах
  • метод mean,
    который вычисляет среднее значение в интервалах
  • метод sum,
    который вычисляет сумму значений в интервалах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить