Я использую df.groupby():Доступ колонны с мультииндексным после использования панды GroupBy метода
g1 = df[['md', 'agd', 'hgd']].groupby(['md']).agg(['mean', 'count', 'std'])
Он производит именно то, что я хочу!
agd hgd
mean count std mean count std
md
-4 1.398350 2 0.456494 -0.418442 2 0.774611
-3 -0.281814 10 1.314223 -0.317675 10 1.161368
-2 -0.341940 38 0.882749 0.136395 38 1.240308
-1 -0.137268 125 1.162081 -0.103710 125 1.208362
0 -0.018731 603 1.108109 -0.059108 603 1.252989
1 -0.034113 178 1.128363 -0.042781 178 1.197477
2 0.118068 43 1.107974 0.383795 43 1.225388
3 0.452802 18 0.805491 -0.335087 18 1.120520
4 0.304824 1 NaN -1.052011 1 NaN
Однако, теперь я хочу, чтобы получить доступ к столбцы объекта GroupBy как «нормальный» dataframe.
я тогда будет в состоянии: 1) вычислить ошибки на АГД и HGD означает 2) делают разброс участков на мд (ось х) против АГД среднего (HGD среднего) с соответствующими ошибками добавляется.
Возможно ли это? Возможно, играя с индексированием?
Заранее благодарен!
Это помогло! Благодаря! Но как я могу построить md по оси x? Это не позволит мне переименовать значения -4 - +4 md:/.... –
Если вы переименуете столбцы, md - ваш индекс, и вы можете получить доступ к его значениям 'g1.index.values'. Еще лучше, вы можете использовать 'g1.plot (...)', и он будет использовать индекс как ваши значения x по умолчанию (в зависимости от вида сюжета, который вы делаете). – benten
Вы можете изменить значения индекса по g1.index = (список или массив или что-то еще). – benten