2016-08-02 12 views
2

ich habe einen Datenrahmen:Pandas pivot_table Index halten

day_bucket label numeric_value 
0 2011-01-21 birds    4 
1 2011-01-22 birds    0 
2 2011-01-23 birds    7 
3 2011-01-24 birds    3 

Ich möchte diese Datenrahmen schwenken, so dass ich eine Spalte birds mit den Werten darunter haben.

pd.pivot_table(df, values='numeric_value', index='day_bucket',columns='label') 

gibt:

label  birds 
day_bucket    
2011-01-21 4 
2011-01-22 0 
2011-01-23 7 
2011-01-24 3 

was soll ich tun die den Index halten? Das Ergebnis wird wie folgt aussehen:

day_bucket birds  
0 2011-01-21 4 
1 2011-01-22 0 
2 2011-01-23 7 
3 2011-01-24 3 
+0

pivot_table aggregierten Ergebnisse. So können verschiedene Indizes kombiniert werden. Wie wirst du sie behalten? Für einen regulären Index können Sie am Ende einfach 'reset_index()' aufrufen. – ayhan

Antwort

3

set_index mit append

df.set_index(['day_bucket', 'label'], append=True) \ 
    .rename_axis([None, None, None]).squeeze().unstack() 

enter image description here

1

In der Zwischenzeit kam ich auch mit einem Ergebnis

pd.pivot_table(df, values='numeric_value', index=[df.index.values,'day_bucket'],columns='label').reset_index('day_bucket') 

label day_bucket mortality_birds 
0  2011-01-21    4 
1  2011-01-22    0 
2  2011-01-23    7 
3  2011-01-24    3 
Verwandte Themen