繁体   English   中英

如何从其他 Pandas DataFrame 创建 MultiIndex DataFrame

[英]How to create MultiIndex DataFrame from other pandas DataFrames

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

假设这是 9 月 25 日的数据

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

这是 26 月的数据

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

现在我想加入两个 DataFrames 并像这样获得 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 的文档,但不确定如何将其应用于我的情况。

使用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

让我们试试

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM