Python loc + isin возвращает FutureWarning (поэлементное сравнение не удалось)

df = df.loc[df['var'].isin(df2['this'].unique().tolist())]

Приведенный выше код дает мне FutureWarning, и я не могу найти способ его обойти. Это ошибка или особенность? Спасибо за вашу помощь

C: \ Users \ Username \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ numpy \ lib \ arraysetops.py: 569: FutureWarning: поэлементное сравнение не выполнено; вместо этого возвращает скаляр, но в будущем будет выполнять поэлементное сравнение маски | = (ar1 == a)


person Stphn    schedule 07.11.2019    source источник


Ответы (1)


Это предупреждение появляется при сравнении int и str в вашем наборе данных. Добавьте .astype(str) в свой набор данных для сравнения. Попробуй это

df = df.loc[df['var'].astype(str).isin(df2['this'].astype(str).unique().tolist())]
person Allen Sun    schedule 19.03.2020