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

如何移除DataFrame中值对重复或互为逆序的冗余行?

处理DataFrame中值对重复及逆序冗余行的方法

核心思路

通过对每行的val1和val2进行排序,生成一个统一的标识键,利用这个键可以将正序、逆序以及完全重复的行归为同一组,再通过去重操作保留每组的唯一一行。

具体实现步骤

  1. 构造示例DataFrame
import pandas as pd

df = pd.DataFrame({
    'val1': ['"a"', '"b"', '"c"', '"c"', '"m"'],
    'val2': ['"b"', '"a"', '"m"', '"m"', '"c"']
})
  1. 生成排序后的统一标识
    对每行的两个值进行排序,生成元组作为唯一分组键:
df['sorted_pair'] = df.apply(lambda row: tuple(sorted([row['val1'], row['val2']])), axis=1)
  1. 去重并清理临时列
    根据生成的标识键去重,保留每组首次出现的行,最后删除临时列:
result_df = df.drop_duplicates(subset='sorted_pair').drop(columns='sorted_pair')

最终结果

执行后得到的result_df即为期望输出:

val1   val2
0  "a"   "b"
2  "c"   "m"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:37