首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas合并索引和列上的多个数据帧

Pandas合并索引和列上的多个数据帧
EN

Stack Overflow用户
提问于 2019-08-01 04:29:27
回答 1查看 535关注 0票数 1

我正在尝试使用来自主数据帧的日期时间索引和id以及来自其他数据帧的日期时间和id列将多个数据帧合并到一个主数据帧。

主数据帧

代码语言:javascript
复制
DateTime | id | data
(Df.Index)
---------|----|------
2017-9-8 |  1 |  a
2017-9-9 |  2 |  b

df1

代码语言:javascript
复制
id | data1 | data2 | DateTime
---|-------|-------|---------
1  |  a    |   c   | 2017-9-8
2  |  b    |   d   | 2017-9-9
5  |  a    |   e   | 2017-9-20

df2

代码语言:javascript
复制
id | data3 | data4 | DateTime
---|-------|-------|---------
1  |  d    |   c   | 2017-9-8
2  |  e    |   a   | 2017-9-9
4  |  f    |   h   | 2017-9-20

主数据帧和其他数据帧位于不同的字典中。我想读取每个字典并在满足连接条件(datetime,id)时进行合并

代码语言:javascript
复制
for sleep in dictOfSleep#MainDataFrame:
    for sensorDevice in dictOfSensor#OtherDataFrames:
        try:
  dictOfSleep[sleep]=pd.merge(dictOfSleep[sleep],dictOfSensor[sensorDevice], how='outer',on=['DateTime','id'])

        except:
            print('Join could not be done')

所需输出:

代码语言:javascript
复制
DateTime | id | data | data1 | data2 | data3 | data4
(Df.Index)
---------|----|------|-------|-------|-------|-------|
2017-9-8 |  1 |  a   |  a    |   c   |   d   |   c   |
2017-9-9 |  2 |  b   |  b    |   d   |   e   |   a   |
EN

回答 1

Stack Overflow用户

发布于 2019-08-01 04:44:17

我不确定你的字典是如何设置的,所以你很可能需要修改它,但我会尝试如下所示:

代码语言:javascript
复制
for sensorDevice in dictOfSensor:
    df = dictOfSensor[sensorDevice]
    # set df index to match the main_df index
    df = df.set_index(['DateTime'])
    # try join (not merge) when combining on index
    main_df = main_df.join(df, how='outer')

或者,如果id列非常重要,您可以尝试首先重置main_df索引,然后进行合并。

代码语言:javascript
复制
main_df = main_df.reset_index()
for sensorDevice in dictOfSensor:
    df = dictOfSensor[sensorDevice]
    # try to merge on both columns
    main_df = main_df.merge(df, how='outer', on=['DateTime', 'id])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57298402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档