2017-08-01 38 views
0

我正在努力以簡單有效的方式重構我的數據幀。Python - 簡單的數據幀重構

第一個數據幀'new'是我擁有的,並且所需的數據幀是new2。我一直在調整pivot,stack,unstack,set_index,reshape等很長時間,但仍然無法實現這個簡單的轉換。我不斷收到錯誤消息或錯誤的結果。有人可以幫忙嗎?

我有什麼

data1 = [50, 60] 
data2 = [100, 200] 
year = [2015,2016] 
new = pd.DataFrame({'product': data1, 'year':year, 'market':data2}) 

我想要什麼

new2 = pd.DataFrame(columns = ['2015', '2016']) 
new2.loc['market'] = data1 
new2.loc['product'] = data2 

desired outcome

回答

0

您需要set_indexT和持續刪除列名稱添加rename_axis

df = df.set_index('year').T.rename_axis(None, axis=1) 
print (df) 
     2015 2016 
market 100 200 
product 50 60