Как использовать пользовательские имена столбцов и изменить структуру во время unstack? - PullRequest
1 голос
/ 11 октября 2019

У меня есть датафрейм, подобный показанному нижеадаптировать мой код

Я хотел бы преобразовать это, чтобы найти maximum of **val_max** for each subject.

Это то, что я пытался. Хотя это работает и дает мне вывод, структура пока не точна

t1 = op1.groupby(['subject_id','item_name'])['val_max'].max().reset_index()
t1.set_index(['subject_id','item_name']).unstack().add_prefix('Max_').rename_axis(None).reset_index()

enter image description here

Вместо этого я хотел бы, чтобы мой вывод был похожкак показано ниже

Обратите внимание, что имена столбцов являются пользовательскими. Я не хочу придерживаться prefix/suffix constraint

enter image description here

1 Ответ

1 голос
/ 11 октября 2019

Используйте DataFrame.add_suffix и axis=1 в DataFrame.rename_axis для удаления имен столбцов:

t1 = (op1.groupby(['subject_id','item_name'])['val_max']
         .max()
         .unstack()
         .add_suffix('_max')
         .rename_axis(None, axis=1)
         .reset_index())
print (t1)
   subject_id  F_max  P_max
0           1     16     13
1           2     25     22
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...