Panda追加并连续重新排序数据帧?

时间:2018-01-17 16:31:20

标签: python pandas sorting dataframe

我使用python pandas包创建了一个空数据帧(df1),只包含列:[var1,var2,var3]

我还有另一个数据帧(df2),如下所示:     列:[var 2,var1,var3]     值:[1,2,3]

当我将df2附加到df1时,数据框中列的顺序会发生变化。我尝试使用sort_values和sort的旧列列表重新排序数据帧,但它不起作用。有谁知道我怎么解决它?我使用的是python版本2.7

1 个答案:

答案 0 :(得分:1)

如果我正确理解这一点,append不是问题。它只是关于列顺序。要更改Dataframe中列的顺序,只需使用列名称进行切片。

df1 = pds.DataFrame(columns=['var1', 'var2', 'var3'])     # desired order

# generate a disordered df somehow
df_disordered = pds.DataFrame(columns=['var2', 'var1', 'var3'])        
df_adjusted = df_disordered[df1.columns]          # slice with column names 
                                                  # or explicitly df_disordered[['var1', 'var2', 'var3']]

# now df_adjusted has the same column order as df1