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

如何对DataFrame的Products列内数值排序以去除重复行?

解决方案

没问题,我来帮你搞定这个需求!下面是基于pandas的实现方案,能快速把Products列里的数值按升序排序,处理后相同的数值组合会统一格式,后续去重就很方便了:

步骤1:定义处理函数

先写一个用来排序单个Products字符串的函数:

def sort_products(product_str):
    # 拆分字符串→转整数→排序→转回逗号分隔的字符串
    num_list = sorted(map(int, product_str.split(',')))
    return ','.join(map(str, num_list))

步骤2:应用函数到DataFrame

把这个函数应用到你的DataFrame的Products列上:

import pandas as pd

# 你的原始数据
df = pd.DataFrame({
    'ID': [1, 2],
    'Name': ['XX', 'XX'],
    'Products': ['34,21,14', '11,15,9']
})

# 对Products列执行排序处理
df['Products'] = df['Products'].apply(sort_products)

# 按需去重(如果有重复行的话)
df = df.drop_duplicates()

# 查看结果
print(df)

运行后就能得到你想要的输出:

ID Name Products
0   1   XX  14,21,34
1   2   XX   9,11,15

额外提示

如果你的Products列存在空值、非数字字符这类特殊情况,可以给函数加个容错判断,避免报错:

def sort_products_safe(product_str):
    if not product_str:  # 处理空值
        return product_str
    try:
        num_list = sorted(map(int, product_str.split(',')))
        return ','.join(map(str, num_list))
    except ValueError:  # 处理非数字内容
        return product_str

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:43:27