2017-06-15 54 views
1

我轉動一些數據,我結束了類似:熊貓在數據透視後調整數據框大小?

   TotalOrder 
     Date 2017-01-01 2017-01-02 2017-01-03 2017-01-04 
Company Region 
ABD  SW  76.4  47.25  45.54  74.2 
DEF  NE  73.3  54.23  76.23  23.2 
WEW  S  76.7  54.32  12.34  56.2 

我想使它所以它只是:

Company Region 2017-01-01 2017-01-02 2017-01-03 2017-01-04 
ABD  SW  76.4  47.25  45.54  74.2 
DEF  NE  73.3  54.23  76.23  23.2 
WEW  S  76.7  54.32  12.34  56.2 

我將如何實現這一目標?

+0

是否'df.columns = df.columns.droplevel(0)'解決您的問題? – Ding

+0

不,保留所有日期,但刪除'Company'和'Region'。 – spitfiredd

回答

1

Date函數是pd.MultiIndex對象佔據columns屬性的第二電平的名稱。 TotalOrderpd.MultiIndex的第一個等級。

其中一些你可以通過稍微不同的方式調用你的透視來解決。但是,由於您沒有發佈該部分,我們來修復您的問題。

df['TotalOrder'].rename_axis(None, 1).reset_index() 

    Company Region 2017-01-01 2017-01-02 2017-01-03 2017-01-04 
0  ABD  SW  76.4  47.25  45.54  74.2 
1  DEF  NE  73.3  54.23  76.23  23.2 
2  WEW  S  76.7  54.32  12.34  56.2 

或者多一點的體操參與

df.T.reset_index(0, drop=True).rename_axis(None).T.reset_index() 

    Company Region 2017-01-01 2017-01-02 2017-01-03 2017-01-04 
0  ABD  SW  76.4  47.25  45.54  74.2 
1  DEF  NE  73.3  54.23  76.23  23.2 
2  WEW  S  76.7  54.32  12.34  56.2 
0

可以切片使用數據幀LOC()之類

df = dataFrame.loc['ABD':'WEW'] 
df3 = DataFrame(data=df,columns=['Company', 'Region', '2017-01-01', '2017-01-02', '2017-01-03','2017-01-04'])