You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除数据框中重复的Reservation ID?代码执行异常求助

问题排查与修正

核心逻辑错误

你的代码逻辑完全搞反了:

  • 第一行dataRange = file1[~file1['Reservation ID'].isin(file2['Reservation ID'])]是提取file1中不存在于file2的Reservation ID行
  • 第二行删除这些行后,剩下的恰恰是file1和file2共有的重复ID行,这和你要删除重复项的需求完全相反,所以才会保留重复数据。

修正代码

如果你的目标是删除file1中所有在file2里出现过的Reservation ID(预期最终得到空表格,说明file1的ID全在file2里),直接用下面的代码即可:

# 保留file1中不在file2里的ID行,若所有ID都重复则返回空表
file1 = file1[~file1['Reservation ID'].isin(file2['Reservation ID'])]

或者用删除索引的写法:

# 找到所有重复的ID行索引
duplicate_idx = file1[file1['Reservation ID'].isin(file2['Reservation ID'])].index
# 删除重复行
file1 = file1.drop(duplicate_idx)

额外排查点

如果修正逻辑后还是不对,检查两个表格的Reservation ID数据类型是否一致:

  • 比如file1里是整数,file2里是字符串,即使数值相同,isin也会判断为不存在
  • 可以统一转换类型后再操作:
# 统一转为字符串类型
file1['Reservation ID'] = file1['Reservation ID'].astype(str)
file2['Reservation ID'] = file2['Reservation ID'].astype(str)

内容的提问来源于stack exchange,提问作者Kuraki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:12:07