2016-05-11 16 views
0

Ich mag einen Multiindex Datenrahmen unstack, die wie folgt aussieht:unstack einen Multiindex Datenrahmen

original dataframe

in einen anderen Datenrahmen, deren Index ‚Worker_id‘, Spaltennamen ‚task_id‘ und Werte sind 'Date_cnt'.

Könnte jemand Hilfe geben?

Ich habe versucht, df.unstack, aber es setzt automatisch 'Date_cnt', anstatt 'task_id' als Spaltennamen

Dank!

Antwort

1

Ich denke, das ist, was Sie wollen:

import pandas as pd 

df = pd.DataFrame([[4529,338,6],[4529,340,4],[4529,346,4],[4529,388,4],[4529,824,1]], columns = ['Worker_id','Task_id','Date_cnt']) 
df = df.set_index(['Worker_id','Task_id']).unstack() 
df.columns = df.columns.droplevel() 
print df 


Task_id 338 340 346 388 824 
Worker_id       
4529   6 4 4 4 1 

Da gibt es nur eine Spalte, die Date_cnt ist ganz oben Feld in den Spalten multiindex-, wenn Sie mehrere Spalten vor Entstapeln hätten, würden sie alle sein ganz oben. Da Sie das nicht behalten möchten, können Sie die Spalte einfach löschen.