Як використовувати оператор «або» в pandas (з прикладами)


Ви можете використовувати | символ як оператор «АБО» в pandas.

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

 df[(condition1) | (condition2)]

У наведених нижче прикладах показано, як використовувати цей оператор «АБО» в різних сценаріях.

Приклад 1. Використовуйте оператор «АБО», щоб фільтрувати рядки на основі числових значень у Pandas

Припустімо, що у нас є наступні pandas DataFrame:

 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

Припустімо, що у нас є наступні pandas DataFrame:

 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:

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

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

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