如何在卸货期间使用自定义列名和更改结构?

时间:2019-10-11 09:42:15

标签: python python-3.x pandas dataframe pandas-groupby

我有一个如下所示的数据框

op1 = pd.DataFrame({
'subject_id':[1,1,1,1,2,2,2,2],
'date' : ['1/1/2017','1/2/2017','1/1/2017','1/2/2017','1/11/2017','1/12/2017','1/11/2017','1/12/2017'],
'val' :[5,6,5,11,5,7,16,12],
'item_name':['P','P','F','F','P','P','F','F'],
'val_max':[11,13,15,16,21,22,24,25]
 })

enter image description here

请注意,我已经引用了此post来修改我的代码

我想将其转换为找到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 个答案:

答案 0 :(得分:1)

使用DataFrame.add_suffix中的DataFrame.rename_axismultipart/form-data删除列名称:

axis=1