Python 将两个独立数据帧之间的对应列合并为新数据帧

Python 将两个独立数据帧之间的对应列合并为新数据帧,python,pandas,Python,Pandas,我有两个数据帧,如下所示: df1 第1栏第2栏第3栏 0.2 0.4 0.5 0.25 0.44 0.45 0.26 0.32 0.33 df2 第1栏第2栏第3栏 340 350 360 410 400 350 234 324 450 我如何组合df1和df2来生成一个数据帧df3,该数据帧具有相同的列,即 df3 第1列第1列

我有两个数据帧,如下所示:

df1
第1栏第2栏第3栏
0.2         0.4       0.5 
0.25        0.44      0.45 
0.26        0.32      0.33
df2
第1栏第2栏第3栏
340         350       360
410         400       350
234         324       450
我如何组合
df1
df2
来生成一个数据帧
df3
,该数据帧具有相同的列,即

df3
第1列第1列第2列第2列第3列第3列
0.2         340       0.4       350      0.5       360
0.25        410       0.44      400      0.45      350 
0.26        234       0.32      324      0.33      450

谢谢大家!

若要为任何数据帧(具有任何可能不相同的列名)替换列,请首先组合两个数据帧,然后通过按所需顺序传递列名列表对其重新排序

对于交替顺序,首先获取两个数据帧列名的列表

l1 = df1.columns
l2 = df2.columns
然后创建一对列名,将它们压缩到两个列表中(结果是
('col1','col1')
…等等)

然后以交替方式与列表理解相结合

combinedNames = [name for pair in colNames for name in pair]
这将创建一个包含成对列名称的列表

将此列表应用于组合数据帧以对其重新排序:

combinedDf = combinedDf[combinedNames]

类似于
pd.concat([df1,df2],axis=1)。sort_index(axis=1)
这样会使行数增加两倍,因此每列中有一半的元素为N/AIt,如果索引不相同,则可能发生这种情况。如果在调用
concat
之前执行
df1.index=df2.index
,该怎么办?另一个选项(被认为没有concat那么经典)pd.merge(df1,df2,left_index=True,right_index=True,how='outer')
combinedDf = combinedDf[combinedNames]