Метод count
Метод count аксессора expanding применяется к Series
и DataFrame и возвращает количество ненулевых значений
в расширяющемся окне. Расширяющееся окно включает все элементы
от начала последовательности до текущего элемента включительно.
Метод автоматически пропускает пропущенные значения NaN
при подсчёте. Если все значения в окне являются NaN,
то результат будет равен нулю.
Синтаксис
ser.expanding().count()
df.expanding().count()
Пример
Давайте создадим серию с числами и подсчитаем количество элементов в расширяющемся окне:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.expanding().count()
print(res)
Результат выполнения кода:
0 1.0
1 2.0
2 3.0
3 4.0
4 5.0
dtype: float64
Пример
Теперь создадим серию с пропущенными значениями и посмотрим,
как метод count обрабатывает NaN:
import pandas as pd
import numpy as np
ser = pd.Series([1, np.nan, 3, np.nan, 5])
res = ser.expanding().count()
print(res)
Результат выполнения кода:
0 1.0
1 1.0
2 2.0
3 2.0
4 3.0
dtype: float64
Пример
Применим метод count к таблице DataFrame.
Результатом будет таблица с подсчётом ненулевых значений
для каждого столбца:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [np.nan, 20, 30, 40, np.nan]
})
res = df.expanding().count()
print(res)
Результат выполнения кода:
a b
0 1.0 0.0
1 2.0 1.0
2 2.0 2.0
3 3.0 3.0
4 4.0 3.0
Пример
Рассмотрим использование метода count с параметром
min_periods. Этот параметр позволяет задать минимальное
количество элементов в окне для вычисления результата:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
res = ser.expanding(min_periods=3).count()
print(res)
Результат выполнения кода:
0 NaN
1 NaN
2 3.0
3 4.0
4 5.0
dtype: float64