Как использовать оператор «ИЛИ» в 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 or assists = 9
df[(df.points > 20) | (df.assists == 9)]

 team points assists rebounds
0 A 25 5 11
3 B 14 9 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

Возвращаются только строки, в которых значение очков больше 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, где значение в столбце position равно G или значение в столбце position равно F или значение в столбце team равно H:

#filter rows based on string values
df[(df.team == 'H') | (df.position == 'G') | (df.position == 'F')]

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

Возвращаются только те строки, которые соответствуют хотя бы одному из трех указанных условий.

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

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

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

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