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

Pandas中反转列且Verified值不同时的重复项分组实现

解决方案

要实现不管Verified值是否相同,只要TranscodeA和TranscodeB互为反转就归入同一重复组的需求,可以通过生成标准化分组键的方式来实现,具体步骤如下:

步骤说明

  1. 生成统一分组键:对每行的TranscodeA和TranscodeB进行排序,得到一个与顺序无关的唯一标识(比如排序后拼接成字符串)。
  2. 分配组ID:为每个唯一的分组键分配连续的组编号(如DG1、DG2)。
  3. 标记无重复项:对分组键仅出现一次的行,标记为NA。

代码实现

import pandas as pd
import numpy as np

# 读取你的数据(示例用给定数据)
data = """TranscodeA,TranscodeB,Verfied
TC06396,TC02582,Yes
TC01232,TC05465,Yes
TC01474,TC02582,No
TC02582,TC06396,Yes
TC01591,TC03573,Yes
TC05465,TC01232,No
TC03573,TC01591,No
TC03573,TC01591,Maybe
TC03573,TC01591,Yaa
TC03573,TC01591,Nah"""
df = pd.read_csv(pd.io.common.StringIO(data))
# 修正列名拼写错误
df.rename(columns={"Verfied": "Verified"}, inplace=True)

# 生成标准化分组键:排序后拼接两个Transcode
df["group_key"] = df.apply(lambda row: "-".join(sorted([row["TranscodeA"], row["TranscodeB"]])), axis=1)

# 统计每个分组键的出现次数
key_counts = df["group_key"].value_counts()

# 为重复的分组键分配组ID
group_mapping = {key: f"DG{i+1}" for i, key in enumerate(key_counts[key_counts > 1].index)}

# 生成Duplicate Group列,无重复项标记为NA
df["Duplicate Group"] = df["group_key"].map(group_mapping).fillna("NA")

# 清理中间列
df.drop(columns=["group_key"], inplace=True)

print(df)

示例输出

运行代码后,输出结果如下:

TranscodeA TranscodeB Verified Duplicate Group
0    TC06396    TC02582      Yes             DG1
1    TC01232    TC05465      Yes             DG2
2    TC01474    TC02582       No              NA
3    TC02582    TC06396      Yes             DG1
4    TC01591    TC03573      Yes             DG3
5    TC05465    TC01232       No             DG2
6    TC03573    TC01591       No             DG3
7    TC03573    TC01591    Maybe             DG3
8    TC03573    TC01591      Yaa             DG3
9    TC03573    TC01591      Nah             DG3

代码解释

  • group_key:通过sorted对两个Transcode排序后拼接,确保(A,B)和(B,A)得到完全相同的键,实现顺序无关的分组依据。
  • group_mapping:仅为出现次数大于1的分组键分配组ID,避免给无重复的行生成无效组。
  • 最终通过map和fillna完成分组标记,精准生成需求的Duplicate Group列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:12:36