Python 当首先使用Dataframe.Combine或Dataframe.Combine\u时,是否可以保留列顺序?

Python 当首先使用Dataframe.Combine或Dataframe.Combine\u时,是否可以保留列顺序?,python,pandas,dataframe,Python,Pandas,Dataframe,如果您有2个数据帧,表示为: A F Y 0 1 2 3 1 4 5 6 及 当组合时,它变成: A B C F T Y 0 1 7 8 2 9 3 1 4 10 11 5 12 6 我希望它成为: A F Y B C T 0 1 2 3 7 8 9 1 4 5

如果您有2个数据帧,表示为:

    A    F    Y
0   1    2    3
1   4    5    6

当组合时,它变成:

    A    B    C    F    T    Y
0   1    7    8    2    9    3
1   4    10   11   5    12   6
我希望它成为:

    A    F    Y    B    C    T
0   1    2    3    7    8    9
1   4    5    6    10   11   12
如何将一个数据帧与另一个数据帧合并,但保持原始列顺序?

In [1294]: new_df = df.join(df1)                                                                                                                                                                            

In [1295]: new_df                                                                                                                                                                                           
Out[1295]: 
   A  F  Y   B   C   T
0  1  2  3   7   8   9
1  4  5  6  10  11  12
或者您也可以使用
pd.merge
(虽然不是一个非常干净的解决方案)


pd.concat([df1,df2],axis=1)
df1.join(df2)
?假设您想在索引上进行组合,您现在使用什么方法来组合它们?这是我需要的,而不是Dataframe.combine。非常感谢。另外,感谢@You_Chris在评论中提到了这一点,df.join(df2,how='outer')允许您在索引不同的情况下保留数据,这也可能毫无价值。在实际应用你的答案时,我必须这样做。
In [1294]: new_df = df.join(df1)                                                                                                                                                                            

In [1295]: new_df                                                                                                                                                                                           
Out[1295]: 
   A  F  Y   B   C   T
0  1  2  3   7   8   9
1  4  5  6  10  11  12
In [1297]: df['tmp' ] =1                                                                                                                                                                                

In [1298]: df1['tmp'] = 1 

In [1309]: pd.merge(df, df1, on=['tmp'], left_index=True, right_index=True).drop('tmp', 1)                                                                                                                  
Out[1309]: 
   A  F  Y   B   C   T
0  1  2  3   7   8   9
1  4  5  6  10  11  12