2016-08-23 66 views
0

我有我的數據庫這個表,我需要一個轉按survey_id如何通過pandas上的鍵轉換數據幀組?

id answer survey_id question_number questionid 
216  0.0   69    3   2.0 
217  3.0   69    4   3.0 
218  0.0   69    5   4.0 
219  0.0   69    6   5.0 
221  0.0   69    8   7.0 

像這樣:

Survey P01 P02 P03 P04 P05 
69  1 1 2 2 1 

細胞就是答案和列格式「P {QUESTION_NUMBER}」

我正在使用熊貓0.18.1。

我該怎麼做?

+1

你需要'打印(df.pivot(指數= 'survey_id',列= 'QUESTION_NUMBER',值= '答案')add_prefix(。 'P'))'? – jezrael

+0

謝謝!幾乎在那裏..但我怎麼能添加一個Survey_id作爲第一列?我試圖堆疊,但並不完全是我需要的。最重要的是它使用survey_id與另一個表合併。 –

回答

4

您可以使用pivotadd_prefixreset_index

print (df.pivot(index='survey_id', columns='question_number', values='answer') 
     .add_prefix('P') 
     .reset_index()) 

question_number survey_id P3 P4 P5 P6 P8 
0      69 0.0 3.0 0.0 0.0 0.0