使用 pandas groupby 和聚合后使用 MultiIndex 访问列
Accessing columns with MultiIndex after using pandas groupby and aggregate
我正在使用 df.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
但是,我现在想像访问 "normal" 数据框一样访问 groupby 对象列。
然后我将能够:
1) 计算 agd
和 hgd
的误差
2) 在 md
(x 轴)与 agd mean
(hgd mean
)上绘制散点图,并添加适当的误差线。
这可能吗?也许通过使用索引?
我正在使用 df.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
但是,我现在想像访问 "normal" 数据框一样访问 groupby 对象列。
然后我将能够:
1) 计算 agd
和 hgd
的误差
2) 在 md
(x 轴)与 agd mean
(hgd mean
)上绘制散点图,并添加适当的误差线。
这可能吗?也许通过使用索引?