Я пытаюсь следующий код:
In [29]: indexes_to_search = [1, 3, 4]
In [30]: df = pd.DataFrame([(1, 2, 3), (4, 5, 6), (7, 8, 9)], columns=["id", "val1", "val2"]).set_index("id")
In [31]: df
Out[31]:
val1 val2
id
1 2 3
4 5 6
7 8 9
In [32]: df.loc[indexes_to_search]
Out[32]:
val1 val2
id
1 2.0 3.0
3 NaN NaN
4 5.0 6.0
Почему-то в результате был добавлен индекс 3
со значениями NaN
в столбцах.В моей реальной проблеме indexes_to_search
может содержать неиндексные значения (в моем примере строка 3
).Я хочу избежать добавления дополнительной строки для удаления значений nan, потому что мой DataFrame очень большой.Итак, вопрос в том, как я могу искать по списку индексов, например .loc
без строк NaN.Я бы ожидал:
val1 val2
id
1 2.0 3.0
4 5.0 6.0