Часто вам может понадобиться выбрать строки кадра данных pandas, в которых определенное значение появляется в любом из столбцов.
К счастью, это легко сделать с помощью функции .any pandas. В этом руководстве объясняется несколько примеров использования этой функции на практике.
Пример 1: найти значение в любом столбце
Предположим, у нас есть следующие Pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
'assists': [5, 7, 7, 9, 12],
'rebounds': [11, 8, 10, 6, 6]})
#view DataFrame
print(df)
# points assists rebounds
#0 25 5 11
#1 12 7 8
#2 15 7 10
#3 14 9 6
#4 19 12 6**
Следующий синтаксис показывает, как выбрать все строки DataFrame, содержащие значение 25 в любом из столбцов:
df[df.isin([25]).any(axis= 1 )]
points assists rebounds
0 25 5 11
Следующий синтаксис показывает, как выбрать все строки DataFrame, содержащие значения 25, 9 или 6 в любом из столбцов:
df[df.isin([25, 9, 6 ]).any(axis= 1 )]
# points assists rebounds
#0 25 5 11
#3 14 9 6
#4 19 12 6**
Пример 2: поиск символа в любом столбце
Предположим, у нас есть следующие Pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
'assists': [5, 7, 7, 9, 12],
'position': ['G', 'G', 'F', 'F', 'C']})
#view DataFrame
print(df)
# points assists position
#0 25 5 G
#1 12 7 G
#2 15 7 F
#3 14 9 F
#4 19 12 C**
Следующий синтаксис показывает, как выбрать все строки DataFrame, содержащие символ G в любом из столбцов:
df[df.isin(['G']).any(axis= 1 )]
points assists position
0 25 5 G
1 12 7 G
Следующий синтаксис показывает, как выбрать все строки DataFrame, содержащие значения G или C в любом из столбцов:
df[df.isin(['G', 'C']).any(axis= 1)]
points assists position
0 25 5 G
1 12 7 G
4 19 12 C
Дополнительные ресурсы
Как фильтровать кадр данных Pandas по нескольким условиям
Как найти уникальные значения в нескольких столбцах в Pandas
Как получить номера строк в кадре данных Pandas