python - 如何删除分层列名
问题描述
以下代码行满足我的需要:
df=df.groupby('Continent').agg({'PopEst': ['size', 'sum', 'mean', 'std']})
然而结果是:
PopEst
size sum mean std
Continent
Asia 5 2.898666e+09 5.797333e+08 6.790979e+08
Australia 1 2.331602e+07 2.331602e+07 NaN
Europe 6 4.579297e+08 7.632161e+07 3.464767e+07
North America 2 3.528552e+08 1.764276e+08 1.996696e+08
South America 1 2.059153e+08 2.059153e+08 NaN
如果我 print(list(df.columns)) 我得到这个:
[('PopEst', 'size'), ('PopEst', 'sum'), ('PopEst', 'mean'), ('PopEst', 'std')]
我需要上面的行来打印(大小、总和、平均值和标准)
如何在不删除子列的情况下删除 PopEst 父列
解决方案
您可以通过在列表中传递聚合函数并在之后指定列来防止它groupby
:
df=df.groupby('Continent')['PopEst'].agg(['size', 'sum', 'mean', 'std'])
MultiIndex
在您的解决方案中,通过以下方式删除第一级DataFrame.droplevel
:
df=df.groupby('Continent').agg({'PopEst': ['size', 'sum', 'mean', 'std']})
df = df.droplevel(0, axis=1)
推荐阅读
- flutter - 颤动的可滑动水龙头
- node.js - 使用 Node 运行简单的演示示例 google-maps-services-js 时出现问题
- python - django中的delendent下拉菜单(DJango,Python)
- python-3.x - 当在 Python 中上传一个充满关键字的 csv 文件时,有没有办法从谷歌搜索结果中获取 url?
- r - paste0 和 ifelse 作为 dplyr 中管道的一部分
- python - 如何解码视频(内存文件/字节字符串)并在python中逐帧遍历它?
- ios - iOS 13 中的归因字符串问题
- wordpress - 我的 Wordpress 网站在移动到其他页面时响应缓慢
- spring-boot - Mongo Spark Java 连接器组
- django - 来自 react axios post 的数据没有向 django 发送数据