You need to enable JavaScript to run this app. 如何将pandas DataFrame指定列整数值映射为同值对应的固定n位随机数
优惠活动
大模型
产品
解决方案
定价
更多

如何将pandas DataFrame指定列整数值映射为同值对应的固定n位随机数

实现方案

核心逻辑是先为A列每个唯一值生成专属的10位随机整数,构建映射字典后批量替换A列数值即可,具体实现代码如下:

import pandas as pd
import random

# 构造示例DataFrame
df = pd.DataFrame([[111, 7,8], [409,6,4], [333, 9,0],[111,3,2],[111,0,0], [409,7,0]], columns=['A','B','C'])

# 提取A列唯一值
unique_a = df['A'].unique()

# 可选:固定随机种子保证结果可复现,不需要可删除
random.seed(42)

# 构建映射字典:每个原值对应唯一的10位随机整数
# 写法1:适用于唯一值数量少的场景
mapping = {val: random.randint(10**9, 10**10 - 1) for val in unique_a}

# 写法2:保证随机数完全不重复,适合唯一值数量较多的场景
# random_list = random.sample(range(10**9, 10**10), len(unique_a))
# mapping = dict(zip(unique_a, random_list))

# 替换A列数值
df['A'] = df['A'].map(mapping)

print(df)

运行后输出结果和你给出的预期格式一致,相同的原值会映射为完全相同的10位随机整数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:06:05