Метод count
Метод count применяется к объекту GroupBy,
который создается методом groupby у таблицы DataFrame
или серии Series. Он возвращает таблицу или серию,
где для каждой группы указано количество непустых значений
по каждому столбцу. В отличие от метода size,
который считает все строки в группе, метод count
игнорирует пропущенные значения NaN.
Синтаксис
grouped.count()
Пример
Давайте создадим таблицу с группами и подсчитаем количество непустых значений в каждой группе:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 1, 2, 2, 3, 3],
'b': [10, np.nan, 30, 40, np.nan, 60],
'c': [100, 200, np.nan, 400, 500, 600]
})
grouped = df.groupby('a')
res = grouped.count()
print(res)
Результат выполнения кода:
b c
a
1 1 2
2 2 1
3 1 2
Пример
Теперь применим метод count к серии, сгруппированной по значениям другой серии:
import pandas as pd
import numpy as np
ser = pd.Series([1, np.nan, 3, 4, 5, np.nan])
grouped = ser.groupby([1, 1, 2, 2, 3, 3])
res = grouped.count()
print(res)
Результат выполнения кода:
1 1
2 2
3 1
dtype: int64
Пример
Сравним метод count с методом size на таблице с пропущенными значениями:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'group': ['x', 'x', 'y', 'y', 'z', 'z'],
'value': [1, np.nan, 3, 4, np.nan, 6]
})
grouped = df.groupby('group')
res_count = grouped.count()
res_size = grouped.size()
print("count:")
print(res_count)
print("size:")
print(res_size)
Результат выполнения кода:
count:
value
group
x 1
y 2
z 1
size:
group
x 2
y 2
z 2
dtype: int64