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


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

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

 df[(condition1) | (condition2)]

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

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

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

 import pandas as pd

#createDataFrame
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 to 25 5 11
1 to 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 to 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

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

 import pandas as pd

#createDataFrame
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 AGW 11
1 BGW 8
2 CFW 10
3DFW 6
4 ECE 6
5 FFE 5
6 GCE 9
7 HCE 12

Мы можем использовать следующий синтаксис для фильтрации строк в DataFrame, где значение в столбце позиции равно G , или значение в столбце позиции равно F , или значение в столбце команды равно 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:

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

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

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