我使用python pandas包创建了一个空数据帧(df1),只包含列:[var1,var2,var3]
我还有另一个数据帧(df2),如下所示: 列:[var 2,var1,var3] 值:[1,2,3]
当我将df2附加到df1时,数据框中列的顺序会发生变化。我尝试使用sort_values和sort的旧列列表重新排序数据帧,但它不起作用。有谁知道我怎么解决它?我使用的是python版本2.7
答案 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