Pandas: як вибрати рядки на основі значень стовпців


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

Спосіб 1: виберіть рядки, у яких стовпець дорівнює певному значенню

 df. loc [df[' col1 '] == value]

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

 df. loc [df[' col1 ']. isin ([value1, value2, value3, ...])]

Спосіб 3: Виберіть рядки на основі умов кількох стовпців

 df. loc [(df[' col1 '] == value) & (df[' col2 '] < value)]

У наступному прикладі показано, як використовувати кожен метод із такими pandas DataFrame:

 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *