Как манипулировать значениями в сводной таблице pandas, чтобы они были в строках вместо этого?

#python #pandas

Вопрос:

У меня есть фрейм данных, и мне нужно изменить следующий фрейм данных в сводную таблицу определенного формата.

            Date         Name    Transactions           Price
0    2021-09-17         Apple       5                  3.57
1    2021-09-17         Pear        100                6.20
2    2021-09-20         Apple       10                 3.60
3    2021-09-20         Pear        12                 6.10
 

Мои коды:

table = pd.pivot_table(data=df,index=['Name'],columns=['Date'],values=['Price','Transactions'])

                        Price                 Transactions    
Date         2021-09-17    2021-09-20   2021-09-17  2021-09-20
Name                                                                                     
Apple          3.57            3.60         5         10
Pear           6.20            6.10        100        12
 

Желаемый Результат:

 Date                                        2021-09-17   2021-09-20
Name                                                                                   
Apple           Transactions                 5              10
                Price                        3.57           3.60
Pear            Transactions                 100            12
                Price                        6.20           6.10
 

Спасибо!

Ответ №1:

Использование DataFrame.stack на первом уровне:

 df = table.stack(0)
print (df)
Date                2021-09-17  2021-09-20
Name                                      
Apple Price               3.57         3.6
      Transactions        5.00        10.0
Pear  Price               6.20         6.1
      Transactions      100.00        12.0