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创建日历实例
Aug 21 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
Jun 24 Python
python将txt文档每行内容循环插入数据库的方法
Dec 28 Python
python pandas时序处理相关功能详解
Jul 03 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
django的ORM操作 增加和查询
Jul 26 Python
解决python3 安装不了PIL的问题
Aug 16 Python
python实现复制文件到指定目录
Oct 16 Python
python 申请内存空间,用于创建多维数组的实例
Dec 02 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
Python高并发和多线程有什么关系
Nov 14 Python
python 如何上传包到pypi
Dec 24 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
thinkphp分页集成实例
2017/07/24 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
python的中异常处理机制
2018/08/30 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
深入了解python中元类的相关知识
2019/08/29 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
电力公司个人求职信范文
2014/02/04 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
村委会贫困证明范本
2014/09/17 职场文书
2015年教学工作总结
2015/04/02 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL