У меня есть следующее df
:
col1 col2
A 2 3
B 4 5
E 6 7
Я хотел бы сгенерировать new_df
, ища интересующие меня линии, используя атрибут выбора по метке .loc
.Чтобы сделать это, я сделал следующее:
new_df= df.loc[['A','B','C','D','E'],:]
Используя версию 0.19 pandas, я получил следующий вывод:
col1 col2
A 2 3
B 4 5
E 6 7
C Nan Nan
D Nan Nan
Вывод Nan
значений для тех значений индекса, которые непоявляются в df
.
Теперь я обновил панд до 0.23 и теперь появляется следующее FutureWarning
:
FutureWarning:
Passing list-likes to .loc or [] with any missing label will raise
KeyError in the future, you can use .reindex() as an alternative.
Чтобы следовать советам панд, я изменил строкукода в соответствии с рекомендациями панд:
new_df=df.loc[df.index.intersection(['A','B','C','D','E'])]
Однако теперь проблема в том, что вывод:
col1 col2
A 2 3
B 4 5
E 6 7
, где я хотел бы, чтобы значения индекса не существовали в df
чтобы появиться в new_df
.
У меня есть 2 вопроса:
- Как мне преодолеть эту проблему, чтобы получить желаемый результат, следуя рекомендациям панд и исключив
FutureWarning
? - Означает ли
FutureWarning
, что из-за одного дня в другой будет возникать ошибка KeyError
, или вам придется обновить версию pandas для возникновения ошибки?