2016-08-23 1 views
0

У меня есть эта таблица из моей базы данных, и мне нужно транспонирование группы по survey_idКак сделать транспонирование группы данных с помощью ключа на пандах?

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

вам нужно 'печать Do (df.pivot (индекс = 'survey_id' столбцов = 'QUESTION_NUMBER', ценности = 'ответ') add_prefix (. 'P')) '? – jezrael

+0

Спасибо! Почти там .. Но как я могу добавить Survey_id в качестве первого столбца? Я пытался складывать, но не совсем мне нужно. Большим преимуществом является использование survey_id для объединения с другой таблицей. –

ответ

4

Вы можете использовать pivot, add_prefix и reset_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 

 Смежные вопросы

  • Нет связанных вопросов^_^