连接两个不同标头的 df

问题描述 投票:0回答:1

如何添加 2 df 不同长度的标头。虽然应该连接其他 df 标头,但它也应该按行连接。

下面是我的 df1:

df1 = pd.DataFrame({'A': [1, 2], 'B': [2, 3], 'C': [3, 4]})

df2:

df2 = pd.DataFrame({'D': [34, 'e'], 'E': ['rt', 'rt']})

以下是我的预期输出:

df = pd.DataFrame({'A': [1, 2,'D',34,'e'], 'B': [2, 3,'E','rt','rt'], 'C': [3, 4,'','','']})

我尝试了下面的许多代码,但未能达到我的预期输出:

(1)

df = pd.concat([df1, df2], axis = 0/1)

(2)

df1_header = pd.DataFrame([df2.columns], columns=df1.columns)
df2.columns = df1.columns 
result = pd.concat([df1_header, df1, df2], ignore_index=True)
python pandas dataframe merge concatenation
1个回答
0
投票

这是一种方法:

df = (
    pd.concat(
        [
            df1,
            df2.T.reset_index().T.rename(columns=dict(enumerate(df1.columns)))
        ],
        axis=0,
        ignore_index=True
    )
)

输出

    A   B  C
0   1   2  3
1   2   3  4
2   D   E   
3  34  rt   
4   e  rt   
© www.soinside.com 2019 - 2024. All rights reserved.