【问题标题】:How to create MultiIndex DataFrame from other pandas DataFrames如何从其他 pandas DataFrames 创建 MultiIndex DataFrame
【发布时间】:2021-12-13 05:35:41
【问题描述】:

我基本上有两个来自不同日期的 DataFrame,并希望将它们合并为一个

假设这是 9 月 25 日的数据

hour    columnA  columnB
0       12       24
1       45       87
2       10       58
3       12       13
4       12       20

这是 26sep 的数据

hour    columnA  columnB
0       54       89
1       45       3
2       33       97
3       12       13
4       78       47

现在我想加入两个 DataFrame 并像这样获得 MultiIndex DataFrame

25sep hour  columnA  columnB
        0       12       24
        1       45       87
        2       10       58
        3       12       13
        4       12       20
26sep hour  columnA  columnB
        0       54       89
        1       45       3
        2       33       97
        3       12       13
        4       78       47

我阅读了有关 MultiIndex 的文档,但不确定如何将其应用于我的情况。

【问题讨论】:

    标签: python pandas dataframe multi-index


    【解决方案1】:

    使用pandas.concat

    https://pandas.pydata.org/docs/reference/api/pandas.concat.html

    >>> df = pd.concat([df1.set_index('hour'), df2.set_index('hour')],
                       keys=["25sep", "26sep"])
    >>> df
    
                columnA  columnB
          hour                  
    25sep 0          12       24
          1          45       87
          2          10       58
          3          12       13
          4          12       20
    26sep 0          54       89
          1          45        3
          2          33       97
          3          12       13
          4          78       47
    

    【讨论】:

      【解决方案2】:

      让我们试试

      out = pd.concat({ y : x.set_index('hour') for x, y  in zip([df1,df2],['25sep','26sep'])})
                  columnA  columnB
            hour                  
      25sep 0          12       24
            1          45       87
            2          10       58
            3          12       13
            4          12       20
      26sep 0          54       89
            1          45        3
            2          33       97
            3          12       13
            4          78       47
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-27
        • 2019-10-20
        • 2023-01-04
        • 2021-01-29
        • 1970-01-01
        • 2019-06-13
        • 2023-04-08
        • 2018-12-13
        相关资源
        最近更新 更多