Pandas: как посчитать значения в столбце с условием
Вы можете использовать следующие методы для подсчета количества значений в столбце Pandas DataFrame с определенным условием:
Способ 1: подсчитать значения в столбце с условием
len(df[df[' col1 ']==' value1 '])
Способ 2: подсчитать значения в нескольких столбцах с условиями
len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd
#createDataFrame
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, где столбец команды равен «B», а столбец pos равен «Gu»:
#count rows where team is 'B' and pos is 'Gu' len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')]) 2
Мы видим, что в DataFrame есть две строки, которые соответствуют обоим этим условиям.
Мы можем использовать аналогичный синтаксис для подсчета количества строк, соответствующих желаемому количеству условий.
Например, следующий код показывает, как подсчитать количество строк, соответствующих трем условиям:
- команда равна «Б»
- pos равно ‘Гу’
- баллов больше 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
Мы видим, что одна строка DataFrame соответствует всем трем условиям.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Панды: как найти разницу между двумя строками
Pandas: как удалить строки, содержащие определенную строку
Pandas: как удалить повторяющиеся строки в DataFrame