Pandas中如何获取isin筛选出的不匹配值对应的Fecha列数据?
解决方案
首先修正你代码里的一个关键问题:dfn.dropna()没有赋值给原变量,这步操作不会生效,空值会留在数据里影响后续筛选,先补上:
dfn = dfn.dropna() # 必须赋值,否则dropna只返回新对象不修改原dfn
接下来直接筛选出Numero de Envio不在Unnamed:13中的行,同时保留对应的Fecha列,再转成你需要的格式:
方法1:得到元组列表(如('123', '2022-11-03'))
# 筛选不匹配的行,只保留需要的两列 mismatched_data = dfn[~dfn['Numero de Envio'].isin(dfn['Unnamed: 13'])][['Numero de Envio', 'Fecha']] # 转成元组列表 result = list(mismatched_data.itertuples(index=False, name=None))
方法2:得到字符串格式的列表(如'123', '2022-11-03')
如果你需要的是字符串形式的元素,可以用列表推导式:
result = [f"'{row['Numero de Envio']}', '{row['Fecha']}'" for _, row in mismatched_data.iterrows()]
这样就能直接得到每个不匹配的Numero de Envio值和对应的Fecha关联后的结果。
内容的提问来源于stack exchange,提问作者Franco Vera
相关产品推荐
相关产品推荐

