2016-10-10 10 views
1

鍵入pd.DataFrame.stack()來製作DataFrame,但結果顯示出我製作了。DataFrame.stack()取得系列

像下面,

enter image description here

我看到這個結果後,刪除.STACK(),並表現出以下結果。

enter image description here

什麼這些試驗之間的區別?

回答

1

你需要指定輸出,因爲後stack你有Series

df = df.reset_index() 

樣品:

df = pd.DataFrame({'theoretic':[1.5,2.8,3.1], 
        'simulation':[4.7,5.8,6.2]}) 

print (df) 
    simulation theoretic 
0   4.7  1.5 
1   5.8  2.8 
2   6.2  3.1 

df = df.stack() 

print (type(df)) 
<class 'pandas.core.series.Series'> 

df = df.reset_index() 

print (type(df)) 
<class 'pandas.core.frame.DataFrame'> 

print (df) 
    level_0  level_1 0 
0  0 simulation 4.7 
1  0 theoretic 1.5 
2  1 simulation 5.8 
3  1 theoretic 2.8 
4  2 simulation 6.2 
5  2 theoretic 3.1