1 回答
TA贡献1909条经验 获得超7个赞
用于Series.unstackreshape after describe, thenDataFrame.swaplevel和 for order like in original add DataFrame.reindex:
df = (df.groupby(['subject_id','readings'])['val']
.describe()
.unstack()
.swaplevel(0,1,axis=1)
.reindex(df['readings'].unique(), axis=1, level=0))
df.columns = df.columns.map('_'.join)
df = df.reset_index()
print (df)
subject_id READ_1_count READ_1_mean READ_1_std READ_1_min READ_1_25% \
0 1 2.0 6.0 1.414214 5.0 5.5
1 2 1.0 5.0 NaN 5.0 5.0
2 3 NaN NaN NaN NaN NaN
3 4 NaN NaN NaN NaN NaN
READ_1_50% READ_1_75% READ_1_max READ_2_count ... READ_08_75% \
0 6.0 6.5 7.0 1.0 ... NaN
1 5.0 5.0 5.0 NaN ... NaN
2 NaN NaN NaN NaN ... NaN
3 NaN NaN NaN NaN ... 43.0
READ_08_max READ_07_count READ_07_mean READ_07_std READ_07_min \
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN
3 43.0 1.0 46.0 NaN 46.0
READ_07_25% READ_07_50% READ_07_75% READ_07_max
0 NaN NaN NaN NaN
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 46.0 46.0 46.0 46.0
[4 rows x 105 columns]
添加回答
举报