У меня DataFrame
вот так:
df = pd.DataFrame([
{
'name': 'Alexandra',
'surname': 'Johnson',
'age': 5
},
{
'name': 'Roland',
'surname': 'Hawking',
'age': 3
}
])
Чтобы найти строки, соответствующие определенному условию, я использую комбинацию условий:
df[((df['name']=='Roland') | (df['surname']=='Johnson')) & (df['age'] > 4)]
, возвращая
name surname age
0 Alexandra Johnson 5
Однако, это не хорошо масштабируется для нескольких сотен тысяч строк. Чтобы ускорить поиск по столбцу, я использовал для индексации этого столбца:
indexed = df.set_index('name')
indexed[indexed.index == 'Roland']
Для нескольких столбцов я могу использовать MultiIndex
, однако я не знаю, как я могу использовать комбинацию логических условий с несколькими индексами , Вы можете посоветовать?