Pandas 基于索引/列组合合并 DataFrame

Posted

技术标签:

【中文标题】Pandas 基于索引/列组合合并 DataFrame【英文标题】:Pandas merge DataFrames based on index/column combination 【发布时间】:2016-11-22 13:44:46 【问题描述】:

我有两个DataFrames 想要merge。我读过关于merging on multiple columns 和preserving the index when merging 的信息。我的问题需要兼顾两者,而我很难找出最好的方法。

第一个 DataFrame 是这样的

第二个看起来像这样

我想根据Date ID 合并这些。在第一个 DataFrame 中,Date 是索引,ID 是一列;在第二个 DataFrame 中,DateID 都是 MultiIndex 的一部分。

基本上,因此我想要一个看起来像 DataFrame 2 的 DataFrame,并为 DataFrame 1 中的 Events 增加一列。

【问题讨论】:

介意发布 DataFrame 的文本,这样我们就不必手动重新创建它们了吗? 它们是通过从 MongoDB 读取创建的,不幸的是我无法共享该数据 【参考方案1】:

我建议重置索引 (reset_index),然后合并 DataFrame,如您所读。然后你可以设置索引(set_index)来重现你想要的MultiIndex。

【讨论】:

以上是关于Pandas 基于索引/列组合合并 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

将具有相同列/索引的两个 pandas DataFrame 合并为一个 DataFrame

如何组合 pandas df 以便可以合并具有置换 col1 和 col2 值的行,其中仅包含一个组合并汇总计数列

在数值最近的索引、完全外连接、聚合列上合并 Pandas 时间序列数据集到最大值

Pandas 基于列合并 csv

python--pandas合并与连接

使用 Pandas [with key column] 将 CSV 与不同的列组合