Функция Pandas DataFrame.count() определена в библиотеке Pandas. Pandas — это один из пакетов Python, который значительно упрощает анализ данных для пользователей.
Что такое функция DataFrame.count() в Pandas?
Функция Pandas DataFrame.count() используется для подсчета количества значений, отличных от NA/null, по заданной оси. DataFrame.count() также работает с данными неплавающего типа. Функция count() используется для подсчета ячеек, отличных от NA, для каждого столбца или строки. Значения None, NaN, NaT и, возможно, numpy.inf (в зависимости от pandas.options.mode.use_inf_as_na) считаются NA.
Синтаксис
|
1 |
DataFrame.count(axis=0, level=None, numeric_only=False) |
Все параметры установлены на значения по умолчанию.
Параметры
Функция Pandas dataframe.count() имеет три параметра.
- axis: 0 для строк и 1 для столбцов.
- level: если ось представляет собой мультииндекс (иерархический), подсчет выполняется вместе с определенным уровнем, сворачивающимся во фрейм данных.
- numeric_only: этот параметр включает только данные с плавающей запятой, целое число и логические значения.
Возвращаемое значение
Метод Pandas count() обычно возвращает серию, но он также может возвращать DataFrame, когда указан уровень.
Примеры программы на Pandas DataFrame count()
- Напишем программу, показывающую работу метода count() в Python.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pd import numpy as np # Importing numpy for nan values. # Creating the dataset using dictionary dataset = { 'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '02', '03', '04', np.nan], 'Maths': ['93', '63', np.nan, '94', '83'], 'Science': ['88', np.nan, '66', '94', np.nan], 'English': ['93', '74', '84', '92', '87']} df = pd.DataFrame(dataset) print("DataFrame:\n\n", df) print("\nCount:\n") # Using the count() df2 = df.count() print(df2) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
DataFrame: Name Roll no Maths Science English 0 Rohit 01 93 88 93 1 Arun 02 63 NaN 74 2 Sohit 03 NaN 66 84 3 Arun 04 94 94 92 4 Shubh NaN 83 NaN 87 Count: Name 5 Roll no 4 Maths 4 Science 3 English 5 dtype: int64 |
В приведенном выше примере мы видим, что мы создали DataFrame данных учащегося, а затем распечатали DataFrame. После этого мы использовали функцию count(), чтобы получить количество значений в каждом столбце (количество присутствующих в нем элементов).
Во-первых, вы можете заметить, что функция count() не подсчитывала значения NaN.
- Напишем программу для отображения счетчика построчно с помощью count().
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pd import numpy as np # Importing numpy for NaN values # Creating dataset using dictionary dataset = { 'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '02', '03', '04', np.nan], 'Maths': ['93', '63', np.nan, '94', '83'], 'Science': ['88', np.nan, '66', '94', np.nan], 'English': ['93', '74', '84', '92', '87']} df = pd.DataFrame(dataset) print("DataFrame:\n\n", df) print("\nCount:\n") # Using the count() function df2 = df.count(axis='columns') print(df2) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
DataFrame: Name Roll no Maths Science English 0 Rohit 01 93 88 93 1 Arun 02 63 NaN 74 2 Sohit 03 NaN 66 84 3 Arun 04 94 94 92 4 Shubh NaN 83 NaN 87 Count: 0 5 1 4 2 4 3 5 4 3 dtype: int64 |
В приведенном выше примере мы видим, что мы создали DataFrame данных учащегося, а затем распечатали DataFrame. После этого мы использовали функцию count() для подсчета построчно.
Counts для одного уровня MultiIndex
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pd import numpy as np # Importing numpy for NaN values # Creating dataset using dictionary dataset = { 'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '02', '03', '04', np.nan], 'Maths': ['93', '63', np.nan, '94', '83'], 'Science': ['88', np.nan, '66', '94', np.nan], 'English': ['93', '74', '84', '92', '87']} df = pd.DataFrame(dataset) print("DataFrame:\n\n", df) print("\nCount:\n") # Using the count() function df2 = df.set_index(["Maths", "English"]).count(level="Maths") print(df2) |
В этом примере мы установили мультииндекс с помощью функции Pandas set_index().
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
DataFrame: Name Roll no Maths Science English 0 Rohit 01 93 88 93 1 Arun 02 63 NaN 74 2 Sohit 03 NaN 66 84 3 Arun 04 94 94 92 4 Shubh NaN 83 NaN 87 Count: Name Roll no Science Maths 63 1 1 0 83 1 0 0 93 1 1 1 94 1 1 1 |
Заключение

Pandas — это мощный инструмент для манипулирования данными, если вы знаете основные операции и способы их использования. Значения None, NaN, NaT и, возможно, numpy.inf (в зависимости от pandas.options.mode.use_inf_as_na) считаются NA. Функция count() подсчитывает ячейки, не относящиеся к NA, для каждого столбца или строки.
