Pandas: как выбирать строки на основе значений столбца
Вы можете использовать любой из следующих методов для выбора строк в DataFrame pandas на основе значений столбца:
Метод 1: выберите строки, где столбец равен определенному значению
df. loc [df[' col1 '] == value]
Способ 2. Выберите строки, в которых значение столбца находится в списке значений.
df. loc [df[' col1 ']. isin ([value1, value2, value3, ...])]
Способ 3: выбор строк на основе условий нескольких столбцов
df. loc [(df[' col1 '] == value) & (df[' col2 '] < value)]
В следующем примере показано, как использовать каждый метод со следующим DataFrame pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
' points ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
' blocks ': [4, 7, 7, 6, 5, 8, 9, 10]})
#view DataFrame
df
team points rebound blocks
0 A 5 11 4
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
7 C 4 12 10
Метод 1: выберите строки, где столбец равен определенному значению
Следующий код показывает, как выбрать каждую строку DataFrame, где столбец «points» равен 7:
#select rows where 'points' column is equal to 7
df. loc [df[' points '] == 7]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
Способ 2. Выберите строки, в которых значение столбца находится в списке значений.
Следующий код показывает, как выбрать каждую строку DataFrame, где столбец «points» равен 7, 9 или 12:
#select rows where 'points' column is equal to 7
df. loc [df[' points ']. isin ([7, 9, 12])]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
Способ 3: выбор строк на основе условий нескольких столбцов
Следующий код показывает, как выбрать каждую строку DataFrame, где столбец «команда» равен «B», а столбец «очки» больше 8:
#select rows where 'team' is equal to 'B' and points is greater than 8
df. loc [(df[' team '] == ' B ') & (df[' points '] > 8)]
team points rebound blocks
3 B 9 6 6
4 B 12 6 5
Обратите внимание, что возвращаются только две строки, где команда равна «B», а «очки» больше 8.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как выбрать строки по индексу в Pandas
Как выбрать отдельные строки в Pandas
Как выбрать строки, в которых значение отображается в любом столбце в Pandas