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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *