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 相关文章推荐
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Python中isnumeric()方法的使用简介
May 19 Python
python中字符串前面加r的作用
Jun 04 Python
Python 实现选择排序的算法步骤
Apr 22 Python
python3爬虫之设计签名小程序
Jun 19 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 Python
python OpenCV GrabCut使用实例解析
Nov 11 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
jupyter 导入csv文件方式
Apr 21 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 Python
python字典与json转换的方法总结
Dec 28 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
PHPCMS的使用小结
2010/09/20 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
jquery中event对象属性与方法小结
2013/12/18 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
Python类的专用方法实例分析
2015/01/09 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
django基础学习之send_mail功能
2019/08/07 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
python判断是空的实例分享
2020/07/06 Python
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
巴西本土电商平台:Americanas
2020/06/21 全球购物
酒店个人培训自我鉴定
2013/12/11 职场文书
二年级小学生评语
2014/04/21 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
党支部先进事迹材料
2014/12/24 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书