Pandas问题:筛选某列值存在于另一DataFrame中的行
问题原因及解决方法
你出错的核心原因是**isin()方法接收的参数不对**:df_reference是包含两列的二维DataFrame,但isin()需要传入一维的序列(比如某一列的数值集合),直接传整个DataFrame会导致无法匹配到任何值。
正确写法
假设你要匹配df_reference中的某一列(比如列名为参考编号),需要明确指定这一列:
# 把'目标列名'替换成df_reference中你实际用来匹配的列名 df_new = df_data[df_data['ID'].isin(df_reference['目标列名'])]
额外提示
如果不确定df_reference的列名,可以先打印确认:
print(df_reference.columns)
这样能准确找到用于匹配的列,避免因参数结构不匹配导致的筛选失败。
内容的提问来源于stack exchange,提问作者Donnerhorn
相关产品推荐
相关产品推荐

