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

基于Python/Pandas关联从第二个表随机选取值的实现方法

实现随机关联DataFrame的解决方案

步骤说明

我们可以通过分组构建值映射 + 逐行随机选取的方式实现需求,具体代码如下:

代码实现

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

import pandas as pd
import random

# 构造第一个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B']})

# 构造第二个DataFrame
df2 = pd.DataFrame({
    'key': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
    'value': [3, 2, 4, 5, 2, 8, 7, 1, 5]
})

接着构建每个key对应的可选值列表:

# 按key分组,将每组的value转为列表并生成映射字典
key_value_map = df2.groupby('key')['value'].apply(list).to_dict()

最后为df1的每一行随机选取对应值:

# 为每个key随机挑选一个对应value
df1['random_value'] = df1['key'].apply(lambda x: random.choice(key_value_map[x]))

# 查看结果
print(df1)

示例输出

运行后会得到类似如下的结果(因为随机选取,每次输出可能不同):

key  random_value
0   A             2
1   B             8
2   C             1
3   A             4
4   B             7

可选优化

如果需要固定随机结果以便复现,可以在代码开头添加随机种子:

random.seed(42)  # 设置固定种子,保证每次运行结果一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:40:03