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中list循环语句用法实例
Nov 10 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
浅析Python中的序列化存储的方法
Apr 28 Python
Python实现带百分比的进度条
Jun 28 Python
Python配置mysql的教程(推荐)
Oct 13 Python
python实现猜单词小游戏
May 22 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
python3 下载网络图片代码实例
Aug 27 Python
如何使用repr调试python程序
Feb 28 Python
jupyter lab文件导出/下载方式
Apr 22 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 Python
Python中的嵌套循环详情
Mar 23 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 Session变量不能传送到下一页的解决方法
2009/11/27 PHP
php Smarty模板生成html文档的方法
2010/04/12 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
window.location和document.location的区别分析
2008/12/23 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
Python实现命令行通讯录实例教程
2016/08/18 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
JSON Web Tokens的实现原理
2017/04/02 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
Python重新加载模块的实现方法
2018/10/16 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
办公室文秘岗位职责
2013/11/15 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server
带你了解Java中的ForkJoin
2022/04/28 Java/Android