Pandas: как подсчитать значения в столбце с условием


Вы можете использовать следующие методы для подсчета количества значений в столбце pandas DataFrame с определенным условием:

Метод 1: подсчет значений в одном столбце с условием

len(df[df['col1']=='value1'])

Способ 2: подсчет значений в нескольких столбцах с условиями

len(df[(df['col1']=='value1') &(df['col2']=='value2')])

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
 'pos': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
 'points': [18, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print(df)

 team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28

Пример 1. Подсчет значений в одном столбце с условием

В следующем коде показано, как подсчитать количество значений в столбце команды , где значение равно 'A':

#count number of values in team column where value is equal to 'A'
len(df[df['team']=='A'])

4

Мы видим, что в столбце команды есть 4 значения, где значение равно «А».

Пример 2. Подсчет значений в нескольких столбцах с условиями

В следующем коде показано, как подсчитать количество строк в DataFrame, где столбец team равен «B», а столбец pos равен «Gu»:

#count rows where team is 'B' and pos is 'Gu'
len(df[(df['team']=='B') &(df['pos']=='Gu')])

2

Мы видим, что в DataFrame есть 2 строки, которые удовлетворяют обоим этим условиям.

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

Например, следующий код показывает, как подсчитать количество строк, удовлетворяющих трем условиям:

  • команда равна 'B'
  • pos равно 'Gu'
  • баллов больше 12
#count rows where team is 'B' and pos is 'Gu' and points > 15
len(df[(df['team']=='B') &(df['pos']=='Gu') &(df['points']> 12 )])

1

Мы видим, что только 1 строка в DataFrame соответствует всем трем этим условиям.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Pandas: как найти разницу между двумя строками
Pandas: как удалить строки, содержащие определенную строку
Pandas: как удалить повторяющиеся строки в DataFrame

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.