【问题标题】:Concat two Pandas dataframes without sorting on initial columns连接两个 Pandas 数据框而不对初始列进行排序
【发布时间】:2016-10-01 23:49:38
【问题描述】:

我有两个数据框:

数据框 A

index  ID_1  ID_2   Value
0       1     1      1.0
1       1     2      1.2
2       1     3      1.3

数据帧 B

index  ID_1  ID_2   Value
0       1     2      1.0
1       1     1      1.2
2       1     3      1.3

每个都按 ID_1 排序,然后按值排序。

我想合并或连接两个数据框,以便我可以轻松确定数据框 A 和数据框 B 中 ID_2 的不同之处 - 因此确定我的排序何时突出显示 ID_2 列顺序的差异。

我尝试了几种不同的方式使用 pd.concat,但总是得到这样的结果:

index  ID_1  ID_2   Value    ID_1  ID_2   Value
0       1     1      1.0      1     1      1.2
1       1     2      1.2      1     2      1.0
2       1     3      1.3      1     3      1.3  

而不是我想要的:

index  ID_1  ID_2   Value    ID_1  ID_2   Value
0       1     1      1.0      1     2      1.0
1       1     2      1.2      1     1      1.2
2       1     3      1.3      1     3      1.3  

有什么想法吗?我已经尝试过使用不同的列名等。

编辑:

下面提出的解决方案当然有效,但必须记住对数据框执行reset_index(drop=True) 以在排序后重置索引。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    这对我有用
    假设'index'AB 的索引

    pd.concat([A, B], axis=1)
    

    【讨论】:

    • 我认为这是我在假设我所做的排序重新索引的东西,但它可能没有。
    • @traggatmot 它当然没有。使用reset_index(drop=True) 来完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 2017-12-26
    • 2020-02-29
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多