Метод count
Метод count применяется к DataFrame
и возвращает число ненулевых (не NaN) значений
в каждом столбце или строке. По умолчанию подсчет
ведется по столбцам. С помощью параметра axis
можно изменить направление подсчета.
Синтаксис
df.count([axis], [numeric_only], [level])
Пример
Давайте создадим таблицу с пропусками и подсчитаем количество непустых значений в каждом столбце:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [10, np.nan, 30, 40, 50],
'c': [100, 200, 300, 400, np.nan]
})
print(df.count())
Результат выполнения кода:
a 4
b 4
c 4
dtype: int64
Пример
Подсчитаем непустые значения по строкам, указав
параметр axis со значением 1
(или columns):
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, 3, 4, 5],
'b': [10, 20, np.nan, 40, 50],
'c': [100, 200, 300, np.nan, 500]
})
print(df.count(axis=1))
Результат выполнения кода:
0 3
1 2
2 2
3 2
4 3
dtype: int64
Пример
Если нужно подсчитать только числовые столбцы,
используем параметр numeric_only:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': ['x', 'y', 'z', np.nan, 'w'],
'c': [10, 20, 30, 40, 50]
})
print(df.count(numeric_only=True))
Результат выполнения кода:
a 4
c 5
dtype: int64
Пример
Метод count также работает с многоуровневыми
индексами. Подсчитаем значения для каждого уровня:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, 3, 4],
'b': [10, 20, np.nan, 40]
}, index=pd.MultiIndex.from_tuples([
('x', 1), ('x', 2), ('y', 1), ('y', 2)
]))
print(df.count(level=0))
Результат выполнения кода:
a b
x 1 2
y 2 1
Смотрите также
-
метод
nunique,
который считает количество уникальных значений -
метод
value_counts,
который подсчитывает частоту значений -
метод
isna,
который проверяет значения на пропуски -
метод
dropna,
который удаляет строки с пропущенными значениями