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写的Discuz7.2版faq.php注入漏洞工具
Aug 06 Python
Python中Class类用法实例分析
Nov 12 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 Python
Python数据结构与算法之图结构(Graph)实例分析
Sep 05 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 Python
在CMD命令行中运行python脚本的方法
May 12 Python
python的常用模块之collections模块详解
Dec 06 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
QT5 Designer 打不开的问题及解决方法
Aug 20 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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实现利用phpexcel导出数据
2013/08/24 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
Javascript 篱式条件判断
2008/08/22 Javascript
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
iview实现图片上传功能
2020/06/29 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
快速查找Python安装路径方法
2020/02/06 Python
python实现自动清理重复文件
2020/08/24 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
生产车间主任的个人自我鉴定
2013/10/25 职场文书
电子商务专业个人的自我评价分享
2013/10/29 职场文书
家长给学校的建议书
2014/05/15 职场文书
教师年度个人总结
2015/02/11 职场文书
酒会开场白大全
2015/06/01 职场文书
学术会议开幕词
2016/03/03 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
Python IO文件管理的具体使用
2022/03/20 Python