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

如何对数值型DataFrame的ColA列每个单元格数字去重排序生成新列

实现方案

核心思路

将Col_A列的数值转为字符串后拆分出单个数字字符,利用集合去重后按升序排序,最终拼接为字符串生成Col_B列即可。因为数字字符的ASCII码顺序和数值大小顺序完全一致,直接排序即可得到正确的升序结果。

代码实现

首先导入依赖并构造示例DataFrame:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'Col_A': [5544412, 5642356, 34342]
})

然后自定义处理函数或者直接用lambda实现逻辑:

# 方式1:自定义函数,可读性更高
def process_digit(num):
    # 转字符串->拆分去重->升序排序->拼接
    sorted_unique = sorted(set(str(num)))
    return ''.join(sorted_unique)
    # 如果你需要Col_B为数值类型,替换上一行为:
    # return int(''.join(sorted_unique))

df['Col_B'] = df['Col_A'].apply(process_digit)

# 方式2:一行lambda写法,适合简单逻辑
# df['Col_B'] = df['Col_A'].apply(lambda x: ''.join(sorted(set(str(x)))))

输出结果

运行后得到的df和预期完全一致:

Col_ACol_B
55444121245
564235623456
34342234

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:39:00