Как использовать оператор «И» в Pandas (с примерами)


Вы можете использовать символ & в качестве оператора «И» в pandas.

Например, вы можете использовать следующий базовый синтаксис для фильтрации строк в кадре данных pandas, которые удовлетворяют условию 1 и условию 2:

df[(condition1) & (condition2)]

В следующих примерах показано, как использовать этот оператор «И» в различных сценариях.

Пример 1: Используйте оператор «И» для фильтрации строк на основе числовых значений в Pandas

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
 'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

 team points assists rebounds
0 A 25 5 11
1 A 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

Мы можем использовать следующий синтаксис для фильтрации строк в DataFrame, где значение в столбце точек больше 20, а значение в столбце помощи равно 9:

#filter rows where points > 20 and assists = 9
df[(df.points > 20) & (df.assists == 9)]

 team points assists rebounds
5 B 23 9 5
6 C 25 9 9

Возвращаются только строки, в которых значение очков больше 20, а значение помощи равно 9.

Пример 2: Используйте оператор «И» для фильтрации строк на основе строковых значений в Pandas

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
 'position': ['G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'],
 'conference': ['W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'],
 'points': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

 team position conference points
0 A G W 11
1 B G W 8
2 C F W 10
3 D F W 6
4 E C E 6
5 F F E 5
6 G C E 9
7 H C E 12

Мы можем использовать следующий синтаксис для фильтрации строк в DataFrame, где значение в столбце позиции равно G, а значение в столбце конференции равно W:

#filter rows based on string values
df[(df.position == 'G') & (df.conference == 'W') ]

 team position conference points
0 A G  W  11
1 B G  W  8

Возвращаются только строки, в которых столбец position равен G, а столбец конференции равен W.

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

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

Как использовать оператор «ИЛИ» в pandas
Как фильтровать строки Pandas DataFrame по дате
Как отфильтровать фрейм данных Pandas по значениям столбцов

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