Как создать MultiIndex DataFrame из других pandas DataFrame

0

У меня в основном два DataFrames с разных дат, и я хочу объединить их в один

допустим, это данные от 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

теперь я хочу присоединиться к обоим 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, но не знаю, как применить это в моей ситуации.

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
Новый участник
HarryPlotter is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
0

Давай попробуем

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