【问题标题】:Panda append and concat reorders the dataframe?熊猫追加和连接重新排序数据框?
【发布时间】:2018-06-26 14:40:34
【问题描述】:
我使用 python pandas 包创建了一个空数据框 (df1),仅包含以下列:[var1, var2, var3]
我还有另一个数据框 (df2),如下所示:
列:[var 2,var1,var3]
值:[1,2,3]
当我将 df2 附加到 df1 时,数据框中列的顺序会发生变化。我尝试使用带有 sort_values 和排序的旧列列表重新排序数据框,但它没有用。有谁知道我该如何解决?我正在使用 python 2.7 版
【问题讨论】:
标签:
python
pandas
sorting
dataframe
【解决方案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