Unnest 多索引数据框 pandas

Unnest multi-index dataframe pandas

我在 pandas 中有多个索引数据框,其中包含名称 (A,B,C..)、特征 (F1,..FN) 和日期。在每个日期,每个名称对每个功能都有一个值。阅读数据给我以下 df:

df = pd.read_csv(path,header=[0,1],index_col=0)
df =
   Name  A                                  B                        C  ...
   Ft    F1 F2 F3           ...       F_N   F1 F2 F3    ...    F_N   F1 ...
   date
   1/1   1  4  1            ...        3    3  2  2             1    5  ...
   1/2   4  3  3            ...        1    5  1  2             1    4  ...
  

我现在想重组它,以便名称和日期作为单独的行多次出现,以减少列数:

df =
       
   date Name    F1 F2 F3           ...       F_N   
   1/1  A       1  4  1            ...        3     
   1/1  B       3  2  2            ...        1
   ...  ...       ...              ...       ...
   1/2  A       4  3  3            ...        1     
   1/2  B       5  1  2            ...        1
   ...

我尝试了不同的解包和分解方法,但 none 似乎得到了我想要的结果。

这是使用 stack 的简单问题,如果您不喜欢 multi-index:

,则可以选择使用 reset_index
df.stack(level=0).reset_index()

输出:

    level_0    Name      F1    F2    F3
--  ---------  ------  ----  ----  ----
 0  1/1        A          1     4     1
 1  1/1        B          3     2     2
 2  1/2        A          4     3     3
 3  1/2        B          5     1     2