python - 使用 pandas groupby 和聚合后使用 MultiIndex 访问列

标签 python pandas group-by aggregate multi-index

我正在使用 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

但是,我现在想像访问“普通”数据框一样访问 groupby 对象列。

然后我将能够: 1) 计算agdhgd 手段上的误差 2) 在 md(x 轴)与 agd mean(hgd mean)上绘制散点图,并添加适当的误差线。

这可能吗?也许通过玩索引?

最佳答案

1) 您可以重命名列并照常进行(将摆脱多重索引)

g1.columns = ['agd_mean', 'agd_std','hgd_mean','hgd_std']

2) 您可以保留多索引并依次使用两个级别 ( docs )

g1['agd']['mean count']

关于python - 使用 pandas groupby 和聚合后使用 MultiIndex 访问列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39300049/

相关文章:

jquery - 如何使用 ajax 从 python wsgi 应用程序读取 JSON 对象

python - 将 svg 文件导入 matplotlib 图

python - Pandas:用特定索引匹配减去两个系列

python - 每小时、每天计算记录并创建多索引 DataFrame 作为输出

sql - 数组交集作为 group by 的聚合函数

python - 使用 django-crispy 组合布局时出错

python - 什么是特征哈希(hashing-trick)?

python - 通过索引符号而不是列名称选择数据框中的列

SQL COUNT* GROUP BY 大于,

sql - 查找所有共同作者 - 多对多映射表的分面/分组