熊猫追加和连接重新排序数据框?

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

【讨论】:

以上是关于熊猫追加和连接重新排序数据框?的主要内容,如果未能解决你的问题,请参考以下文章

根据列名重新排序熊猫数据框中的列[重复]

根据列名重新排序熊猫数据框中的列[重复]

根据列名重新排序熊猫数据框中的列[重复]

根据列名重新排序熊猫数据框中的列[重复]

熊猫数据框中的行排序和聚合

如何同时对熊猫数据框中的列进行排序[重复]