重塑 excel 数据
Re-shaping excel data
我正在尝试将当前的 Excelsheet 重新调整为更合适的 "database" 可读格式。我该怎么做?
我读了一些样本:
但结果对我不起作用,因为我的数据集当然不同。
我也阅读了 melt 函数,但这也不起作用 - 可能我编码错误(因为我不是程序员)
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
我正在尝试将当前的 Excelsheet 重新调整为更合适的 "database" 可读格式。我该怎么做?
我读了一些样本:
但结果对我不起作用,因为我的数据集当然不同。 我也阅读了 melt 函数,但这也不起作用 - 可能我编码错误(因为我不是程序员)
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