在groupby操作之后,用于更改列名的当前(从0.20版本开始)方法是链接df.columns = df.columns.droplevel(0)方法。 有关更多详细信息,请参见文档中的此弃用说明。

自熊猫0.20版起弃用的答案

这是google中的第一个结果,尽管最佳答案有效,但它并未真正回答问题。 这里有一个更好的答案,并且在github上有很长的讨论,涉及将字典传递给df.columns = df.columns.droplevel(0)方法的全部功能。

不幸的是,这些答案在文档中不存在,但是用于分组,聚合然后重命名列的通用格式使用字典词典。 外字典的键是要聚合的列名。 内部字典具有键,这些键将新列命名为具有值的聚合函数。

在到达那里之前,让我们创建一个四列的DataFrame。

df = pd.DataFrame({'A' : list('wwwwxxxx'),

'B':list('yyzzyyzz'),

'C':np.random.rand(8),

'D':np.random.rand(8)})

A B C D

0 w y 0.643784 0.828486

1 w y 0.308682 0.994078

2 w z 0.518000 0.725663

3 w z 0.486656 0.259547

4 x y 0.089913 0.238452

5 x y 0.688177 0.753107

6 x z 0.955035 0.462677

7 x z 0.892066 0.368850

假设我们要对df.columns = df.columns.droplevel(0)列进行分组,将mean和median合并为C,将max合并为D与max。下面的代码可以做到这一点。

df.groupby(['A', 'B']).agg({'C':['mean', 'median'], 'D':'max'})

D C

max mean median

A B

w y 0.994078 0.476233 0.476233

z 0.725663 0.502328 0.502328

x y 0.753107 0.389045 0.389045

z 0.462677 0.923551 0.923551

这将返回带有分层索引的DataFrame。 最初的问题是有关在同一步骤中重命名列的问题。 使用字典词典可以做到这一点:

df.groupby(['A', 'B']).agg({'C':{'C_mean': 'mean', 'C_median': 'median'},

'D':{'D_max': 'max'}})

D C

D_max C_mean C_median

A B

w y 0.994078 0.476233 0.476233

z 0.725663 0.502328 0.502328

x y 0.753107 0.389045 0.389045

z 0.462677 0.923551 0.923551

这样可以一次性重命名各列,但仍保留可以使用df.columns = df.columns.droplevel(0)删除顶层的层次结构索引。

python中rename函数_python-重命名Pandas Groupby函数中的列名相关推荐

  1. pandas使用rename函数自定义重命名dataframe指定索引标签(位置)的名称(customize rename index value or label)

    pandas使用rename函数自定义重命名dataframe指定索引标签(位置)的名称(customize rename index value or label) 目录

  2. python重命名文件或目录_Python重命名多个文件的实例方法

    Python中如何重命名多个文件 在Python3中可以使用rename()方法+listdir()方法来重命名多个文件,这两个方法都是os模块的一部分,非常方便.下面本篇文章就来带大家了解一下ren ...

  3. Python+Excel系列: 案例三:批量重命名一个工作薄中的所有工作表、批量重命名一个工作簿中的部分工作表

    文章目录 批量重命名一个工作薄中的所有工作表 批量重命名一个工作簿中的部分工作表 批量重命名一个工作薄中的所有工作表 例:把table文件夹下一个工作簿中所有工作表名中的"销售"二 ...

  4. python实现批量图片/文件重命名

    python实现批量图片/文件重命名 import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(self):self.path = ' ...

  5. python文件批量重命名以数字~n的方式重命名_利用Python对文件进行批量重命名

    最近几天工作的内容是对40个项目进行考核,每个项目都需要一个考核评分表,已经有了项目的列表. 如果用常规的方法,需要复制40个文件,并逐个修改,不光工作量大,也容易出错,后期修改也不方便. 于是想到了 ...

  6. F2FS源码分析-6.6 [其他重要数据结构以及函数] F2FS的重命名过程-f2fs_rename函数

    F2FS源码分析系列文章 主目录 一.文件系统布局以及元数据结构 二.文件数据的存储以及读写 三.文件与目录的创建以及删除(未完成) 四.垃圾回收机制 五.数据恢复机制 六.重要数据结构或者函数的分析 ...

  7. 一个简单的重命名,在git中也有这么多学问

    重命名如何在git中高效的完成呢? $ pwd$ ll$ cd git-rainbow/$ ll$ cd mtxcrm/$ ls -la 所有的工作先在工作区(或工作目录)里面进行操作,然后再加到暂存 ...

  8. c语言文件怎么重命名文件,c语言中 如何删除文件和重命名文件,举个例子可以么...

    满意答案 takurachin 2013.05.27 采纳率:45%    等级:12 已帮助:8700人 函数名: rename 功 能: 重命名文件 用 法: int rename(char *o ...

  9. Linux rename命令 批量重命名

    Linux rename命令 批量重命名 Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C ...

  10. Python对文件进行批量重命名

    不管是什么开发语言,用代码操作的最大优势就是可以灵活调整.可批量处理 对于要处理的文件,几千几万的量也是一个回车的事,当然前提是代码不能出BUG 有时候我们下载的一切工具要么收费,要么有各种各样的限制 ...

最新文章

  1. python 中主线程结束 子线程还在运行么_python 线程之一:线程的创建、启动及运行方式
  2. 《计算机视觉:模型、学习和推理》一3.6 正态逆伽马分布
  3. InsightFace及其mxnet、tensorflow代码实现
  4. Git 修改commit 相关操作
  5. MySQL · BUG分析 · Rename table 死锁分析
  6. 11.盛水最多的容器
  7. 阿里异构离线数据同步工具/平台DataX
  8. Linux下制作WIndows 7启动U盘
  9. linux系统相关文件夹讲解,Linux中重要文件夹介绍PPT课件
  10. Region Proposal by Guided Anchoring 笔记
  11. 西南大学网络作业答案计算机,2019西南大学继续教育学院《计算机基础》作业答案...
  12. PHP实现sha-256哈希算法
  13. 云防护是什么?为何使用云防护?
  14. mysql给所有表添加字段
  15. Orcad与PADS交互设计技巧一
  16. 图解网络:组建一个网络需要用到哪些硬件设备?
  17. 【CHATGPT-3.5】如何使用ChatGPT的同时并学习记忆
  18. 永磁同步电机矢量控制(四)——速度环 PI 参数整定(二)
  19. Django REST framework+Vue 打造生鲜超市(二)
  20. 高盛AI生态报告:美国仍是主导,中国正高速成长

热门文章

  1. centos7恢复mysql数据库_MySQL数据库之Centos7.3,mysql5.7环境,数据存储空间加大调整方案...
  2. linux lua 编译 开发,Linux CentOS 编译LUA。。搞半天终于对了= =
  3. P5018 对称二叉树
  4. 团队项目——测试心得
  5. How to support Specular-Glossiness in Three.js
  6. 有关windows在调试ODOO8.0有些问题
  7. 《构建之法》8、9、10
  8. 使用Objective-C的+(void)initialize初始化static变量
  9. spring 多租户数据源实现事务一致性
  10. java请求url拼接xml_java访问一个URL,会返回给你一个XML格式的数据,该怎么实现?...