梳理两个pandas数据帧,将相同的列索引/标题编织在一起

时间:2017-04-06 22:31:19

标签: python pandas dataframe insert

我正在尝试合并两个数据框,每个数据框在相同的列名下具有不同的值。

A   B   C   D       A   B   C   D
0   0   0   0       2   2   2   2
1   1   1   1       4   4   4   4
2   2   2   2       6   6   6   6
3   3   3   3       8   8   8   8
4   4   4   4       10  10  10  10

我想以这样的方式组合数据帧,即我可以将列并排放置,即A由A和B由B组成,依此类推,在新的数据帧中。

A   A   B   B   C   C   D   D
0   2   0   2   0   2   0   2
1   4   1   4   1   4   1   4
2   6   2   6   2   6   2   6
3   8   3   8   3   8   3   8
4   10  4   10  4   10  4   10

我试图使用for循环和pandas的.insert函数效果不大(通过第一个df索引并从第二个列插入每个其他列),每列的头部包含一个字符串,其余的是浮点数。如果有人可以提供一些方向或甚至另一个图书馆,我会很感激。

1 个答案:

答案 0 :(得分:1)

尝试:

pd.concat([df1, df2], axis=1).sort_index(axis=1)

enter image description here

另一种方法是添加密钥以跟踪哪一个是哪个,并确保列组保持相同的顺序......

pd.concat([df1, df2], axis=1, keys=[1, 2]).stack(0)[df1.columns].unstack()

enter image description here