重塑Excel数据

时间:2019-10-31 02:52:19

标签: python-3.x pandas melt

我正在尝试将当前的excelsheet调整为更合适的“数据库”可读格式。我该怎么办?

Current excelsheet

This is the expected results

我阅读了一些示例: reshape a pandas dataframe with multiple columns

但是结果不适用于我,因为我的数据集是不同的。 我也读过有关melt函数的信息,但这也行不通-可能我编写了错误的代码(因为我不是程序员)

1 个答案:

答案 0 :(得分:0)

IIUC,您需要这个:

import pandas as pd

df = pd.DataFrame({'Jan-19':[200,23,13]
                  ,'Feb-19':[100,200,45]
                  ,'Mar-19':[45,45,56]
                  ,'Apr-19':[487,0,56]
                  ,'May-19':[455,44,45]}
                 ,index=['Oranges','Apples','Bananas'])

print(df)



         Jan-19  Feb-19  Mar-19  Apr-19  May-19
Oranges     200     100      45     487     455
Apples       23     200      45       0      44
Bananas      13      45      56      56      45

df_out = df.reset_index().melt('index')
df_out

输出:

      index variable  value
0   Oranges   Jan-19    200
1    Apples   Jan-19     23
2   Bananas   Jan-19     13
3   Oranges   Feb-19    100
4    Apples   Feb-19    200
5   Bananas   Feb-19     45
6   Oranges   Mar-19     45
7    Apples   Mar-19     45
8   Bananas   Mar-19     56
9   Oranges   Apr-19    487
10   Apples   Apr-19      0
11  Bananas   Apr-19     56
12  Oranges   May-19    455
13   Apples   May-19     44
14  Bananas   May-19     45