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

在R语言中合并不同数据集同名列并整合元素的方法

Pandas 按列名合并并整合两个数据框

数据框结构

现有两个数据框 df_1 和 df_2,结构如下:

df_1

XX1X2X3
ABCD
EEFG
HIJL

df_2

XX4X5
ZYW
POS

期望结果

合并后需得到如下结构的数据框,按列名整合元素,缺失值用 NA 填充:

XX1X2X3X4X5
ABCDYW
EEFGOS
HIJLNANA
ZNANANANANA
PNANANANANA

实现代码

使用 Pandas 可通过以下代码实现需求:

import pandas as pd
import numpy as np

# 构造原始数据框
df_1 = pd.DataFrame({
    'X': ['A', 'E', 'H'],
    'X1': ['B', 'E', 'I'],
    'X2': ['C', 'F', 'J'],
    'X3': ['D', 'G', 'L']
})

df_2 = pd.DataFrame({
    'X': ['Z', 'P'],
    'X4': ['Y', 'O'],
    'X5': ['W', 'S']
})

# 按行索引合并df_1与df_2的X4、X5列,补全缺失值
merged_part = pd.concat([df_1, df_2[['X4', 'X5']]], axis=1).fillna(np.nan)

# 构造需要追加的行,仅保留df_2的X列,其余列填充NA
append_part = df_2[['X']].assign(X1=np.nan, X2=np.nan, X3=np.nan, X4=np.nan, X5=np.nan)

# 合并两部分得到最终结果
final_df = pd.concat([merged_part, append_part], ignore_index=True)

# 查看结果
print(final_df)

代码说明

  1. 基础部分合并:用 pd.concat(axis=1) 将 df_1 和 df_2 的 X4、X5 列按行索引对齐合并,行数不足的位置自动填充 NA。
  2. 构造追加行:从 df_2 提取 X 列,通过 assign 方法为其他列统一赋值 NA。
  3. 最终合并:用 pd.concat(axis=0) 将基础部分和追加行合并,ignore_index=True 重置索引确保序号连续。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:09:24