pandas中DataFrame修改index、columns名的方法示例


Posted in Python onAugust 02, 2019

一般常用的有两个方法:

1、使用DataFrame.index = [newName],DataFrame.columns = [newName],这两种方法可以轻松实现。

2、使用rename方法(推荐):
DataFrame.rename(mapper = None,index = None,columns = None,axis = None,copy = True,inplace = False,level = None )

参数介绍:

  • mapper,index,columns:可以任选其一使用,可以是将index和columns结合使用。index和column直接传入mapper或者字典的形式。
  • axis:int或str,与mapper配合使用。可以是轴名称(‘index',‘columns')或数字(0,1)。默认为'index'。
  • copy:boolean,默认为True,是否复制基础数据。
  • inplace:布尔值,默认为False,是否返回新的DataFrame。如果为True,则忽略复制值。
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

df1 = DataFrame(np.arange(9).reshape(3, 3), index = ['bj', 'sh', 'gz'], columns=['a', 'b', 'c'])
print(df1)
'''
  a b c
bj 0 1 2
sh 3 4 5
gz 6 7 8
'''

# 修改 df1 的 index
print(df1.index) # 可以打印出print的值,同时也可以为其赋值
df1.index = Series(['beijing', 'shanghai', 'guangzhou'])
print(df1)
'''
      a b c
beijing  0 1 2
shanghai  3 4 5
guangzhou 6 7 8
'''

# 可以使用map方法进行映射,map的使用方法就和python中的map几乎一样
print(df1.index.map(str.upper)) # Index(['BEIJING', 'SHANGHAI', 'GUANGZHOU'], dtype='object')

print(df1) # 结果 并未改变, 上面只是返回一个 dataframe 而已
'''
      a b c
beijing  0 1 2
shanghai  3 4 5
guangzhou 6 7 8
'''

# 如果 需要 改变的话,可以如下: 另外赋值给一个变量
df1.index = df1.index.map(str.upper)
print(df1) # 这样 就 改变了
'''
      a b c
BEIJING  0 1 2
SHANGHAI  3 4 5
GUANGZHOU 6 7 8
'''

# 更快捷的 方法 使用 rename,可以分别为 index 和 column 来指定值
# 使用 map 的方式来赋值
df2 = df1.rename(index=str.lower, columns=str.upper) # 这种方法 照样是产生一个新的 dataframe
print(df2)
''' 可以很轻松的 修改 dataframe 的 index 和 columns
      A B C
beijing  0 1 2
shanghai  3 4 5
guangzhou 6 7 8
'''

# 同时,rename 还可以传入字典
df3 = df2.rename(index={'beijing':'bj'}, columns = {'A':'aa'}) # 为某个 index 单独修改名称
print(df3) #
'''
      aa B C
bj     0 1 2
shanghai  3 4 5
guangzhou  6 7 8
'''

# 自定义map函数
def test_map(x):
  return x+'_ABC'

print(df1.index.map(test_map))
# 输出 Index(['BEIJING_ABC', 'SHANGHAI_ABC', 'GUANGZHOU_ABC'], dtype='object')

print(df1.rename(index=test_map))
'''
        a b c
BEIJING_ABC  0 1 2
SHANGHAI_ABC  3 4 5
GUANGZHOU_ABC 6 7 8
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网络爬虫采集联想词示例
Feb 11 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
python+pandas分析nginx日志的实例
Apr 28 Python
pandas重新生成索引的方法
Nov 06 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
python and or用法详解
Jun 26 Python
python读写csv文件的方法
Aug 13 Python
Python解析json代码实例解析
Nov 25 Python
Python3操作MongoDB增册改查等方法详解
Feb 10 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
May 31 Python
Python实现批量将文件复制到新的目录中再修改名称
Apr 12 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 #Python
Flask框架钩子函数功能与用法分析
Aug 02 #Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 #Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 #Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 #Python
pandas DataFrame创建方法的方式
Aug 02 #Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 #Python
You might like
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
致裁判员加油稿
2014/02/08 职场文书
个人实习生的自我评价
2014/02/16 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
倡议书范文
2014/04/16 职场文书
同居协议书范本
2014/04/23 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
教师师德工作总结2015
2015/07/22 职场文书