【问题标题】:Python loc + isin returns FutureWarning (elementwise comparison failed)Python loc + isin 返回 FutureWarning(元素比较失败)
【发布时间】:2023-12-07 22:43:01
【问题描述】:
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)

【问题讨论】:

    标签: python pandas dataframe pandas-loc future-warning


    【解决方案1】:

    比较数据集中的“int”和“str”时会出现此警告。将.astype(str) 添加到您的比较数据集中。 试试这个

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

    【讨论】: