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

R语言实现两个dataframe的id与COMR全匹配生成笛卡尔积数据集

实现方案

你需要的是两个DataFrame的笛卡尔积(交叉连接),可根据你的技术栈选择对应实现方式:

Pandas 实现(中小数据量适用)

方法1:兼容所有Pandas版本的通用写法

通过临时关联键实现全匹配:

import pandas as pd

# 给两个DataFrame新增相同的临时关联字段
df1['tmp_join_key'] = 0
df2['tmp_join_key'] = 0

# 关联后删除临时字段即可得到目标结果
df3 = df1.merge(df2, on='tmp_join_key').drop('tmp_join_key', axis=1)

方法2:Pandas 1.2.0+ 简化写法

直接调用官方提供的交叉连接接口:

df3 = pd.merge(df1, df2, how='cross')

注意:你的数据量级为2273780 * 29435 ≈ 670亿条,单机内存通常无法支撑全量计算,建议拆分df1为多批次分别计算后落盘,或者切换到分布式计算框架。


PySpark 实现(大数据量场景适用)

直接调用内置的笛卡尔积接口即可分布式计算:

df3 = df1.crossJoin(df2)

内容的提问来源于stack exchange,提问作者M.KKK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:36:05