熊猫追加和连接重新排序数据框?
Posted
技术标签:
【中文标题】熊猫追加和连接重新排序数据框?【英文标题】: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 版
【问题讨论】:
请查看How to create a Minimal, Complete, and Verifiable example 并编辑您的问题。 【参考方案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
【讨论】:
以上是关于熊猫追加和连接重新排序数据框?的主要内容,如果未能解决你的问题,请参考以下文章