2017-06-16 6 views
0

Ich habe Datenrahmen, der wie folgt aussieht:Ändern der Form eines Pandas Datenrahmen auf mehrere Spalten

questions = ['What color?', 'What day?', 'How cold?', 'What color?', 'What color?'] 
category = ['Something1', 'Something2', 'Something1', 'Something2', 'something3'] 
answers = ['red', 'tuesday', '45', 'blue', 'red'] 
ids = [0, 1, 2, 3, 0] 
df = pd.DataFrame({'id': [0, 1, 2, 0, 0], 'questions': questions, 'answers': 
answers}) 

>>> id questions answers category 
    0 What color? red  Something1 
    1 What day? tuesday Something2 
    2 How cold? 45  Something1 
    0 What color? blue  Something2 
    0 What color? red  Something3 

ich nach Kategorie neu zu gestalten versuche, id, und Frage dazu zu bekommen:

How cold?|Something1 What color?|Something1 What color?|Something2 what color?|Something3 What day?|Something2 
id   
0   None     red      Blue      red     None 
1   None     None     None      None     tuesday 
2   45      None     None      None     None 

Ich habe ähnliche Ideen aus dieser früheren Frage versucht: pandas: how to run a pivot with a multi-index?, aber bisher kein Glück.

Antwort

1

Suchen Sie etwas wie folgt aus:

df['questions'] = df.questions + '/' + df.category 

df1 = pd.pivot_table(df, values='answers', index='id',columns='questions', aggfunc='first') 

Hoffe, es hilft

Verwandte Themen