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

如何删除DataFrame中同一行两列值相同的重复数据行

你写的data[data['name'] != data['actors']]逻辑本身是成立的,没有生效通常是以下几个原因导致,对应解决方法如下:

失效常见原因

  • 字符串存在首尾隐形空格、大小写差异,导致肉眼看起来相等的两个值实际并不相等
  • 没有把筛选后的结果赋值给新变量/覆盖原变量,pandas筛选操作默认不会修改原DataFrame
  • 行中存在NaN空值,!=对NaN的判断会返回False,导致对应行被误过滤

解决代码

# 1. 先对两列做标准化处理:去首尾空格、统一转小写
# 2. 额外处理空值逻辑:两列任意一列为空时视为不相等,保留行;如果需要空值相等就删除这部分逻辑
mask = (data['name'].str.strip().str.lower() != data['actors'].str.strip().str.lower()) | data['name'].isna() | data['actors'].isna()

# 3. 把筛选结果赋值给新变量,或者用data = data[mask]覆盖原数据
data_filtered = data[mask]

如果执行后仍有不符合预期的行,可以先把疑似重复的行转成字符串对比排查差异:

# 输出所有两列相等的行,检查实际值差异
print(data[data['name'].astype(str) == data['actors'].astype(str)])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:30:00