前言

首先,我们创建一个5行4列的DataFrame数据作为示例,进行演示import pandas as pdimport numpy as np

df = pd.DataFrame(data=np.arange(20).reshape(5,4), columns=['a', 'b', 'c', 'd'])df

a b c d0 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

一 部分列重命名

有时候,我们只需要将部分列的列名重命名。可以使用字典的方式,更改指定的列名。df.rename(columns={'a': 'A'})A b c d0 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

没有指定inplace=True, df本身的列名并没有改变。df

a b c d0 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

这种情况下比较适合不变原有数据,通过赋值对新数据列改名,如下:df2 = df.rename(columns={'a': 'A'})df2

A b c d0 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

如果我们指定inplace=True,则会改变原始数据df.rename(columns={'a': 'A', 'c': 'C', 'd': 'D'}, inplace=True)df

A b C D0 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

二 全部列重命名

df.columns = new_columns, new_coumns 可以是列表或元组, 但新旧列名的长度必须一致,否者会不匹配报错。这种改变方式是直接改变了原始数据。df.columns = ['a1', 'b1', 'c1', 'd1']df

a1 b1 c1 d10 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

三 str 批量修改列名

将列名’a1’, ‘b1’… 批量改为’a2’, 'b2’…df.columns = df.columns.str.replace('1', '2')df

a2 b2 c2 d20 0 1 2 31 4 5 6 72 8 9 10 113 12 13 14 154 16 17 18 19

其实str的原理和第二章是一样的,不同的是,我们对列名进行了字符串的操作。

四 读取csv文件重命名

names = new_columns, 在读取文件的时候直接重命名列名。df = pd.read_csv('xxx.csv', names=new_columns, header=0)

后记

这里讲一个之前在读csv文件, 重命名时,踩到的一个小坑。

以前读csv文件,读到重命名时,我都是先读文件,转成DataFrame之后再重命名的。df = pd.read_csv('xxx.csv')df.columns = new_columns

这样做,大部分情况下不会有什么问题,直到有天我读的是无列名的csv文件。pandas默认将第一行数据作为了列名。这时我再进行df.columns = new_columns 时,第一行数据就会因为作为列名,被new_columns替换了。这就导致我第一行数据白白丢失了(想哭)。今天写这篇博客的目的。也就是想记住这个坑。

pandas的read_csv() 函数,其实还踩过很多坑,里面有很多参数,我会在之后的博客里详解read_csv()的各个参数的用法。

pandas获取全部列名_pandas获取全部列名_pandas DataFrame数据重命名列名的几种方式...相关推荐

  1. pandas DataFrame数据重命名列名的几种方式

    文章目录 前言 一 部分列重命名 二 全部列重命名 三 str 批量修改列名 四 读取csv文件重命名 后记 前言 首先,我们创建一个5行4列的DataFrame数据作为示例,进行演示 import ...

  2. pandas重命名列名称、数据列名称重命名(Rename Column Names): rename、set_axis、df.columns

    pandas重命名列名称.数据列名称重命名(Rename Column Names): rename.set_axis.df.columns 目录 pandas重命名列名称.数据列名称重命名(Rena ...

  3. python给内置函数重命名_python – 以Pandas Groupby函数重命名列名

    1).我有一个以下示例数据集: >>> df ID Region count 0 100 Asia 2 1 101 Europe 3 2 102 US 1 3 103 Africa ...

  4. r 重命名 列名_R-reshape2

    reshape2 reshape2主要是用来简化数据的,主要有两个函数,melt和cast,分别是宽数据化成长数据,长数据化简成宽数据. #以mtcars数据为例,宽数据 > head(mtca ...

  5. vue获取上传图片的名字和路径_使用Vue实现图片上传的三种方式

    项目中需要上传图片可谓是经常遇到的需求,本文将介绍 3 种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来. 没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务 ...

  6. 【Java获取配置文件的2种方式】

    获取Java配置文件信息的2种方法 第一种方式 第二种方式 切记第二种方式路径文件不带后缀!!! 区别 第一种方式 Properties properties = new Properties();I ...

  7. Android获取电池电量信息的几种方式

    Android获取电池电量电量信息的几种方式 本文仅为新手提供知识学习,不喜勿喷. 关于Android获取电量信息我汇总了当前采用的比较多且通俗易懂的三种方式,如果对你有用的话请在评论区留言并给我点个 ...

  8. R语言计算dataframe数据列中各分类的计数(类似pandas value_counts函数功能)

    R语言计算dataframe数据列中各分类的计数(类似pandas value_counts函数功能) 目录 R语言计算dataframe数据列中各分类的计数(类似pandas value

  9. python pandas修改列名,Python_Pandas学习笔记02:DataFrame获取列名和修改列名

    Python_Pandas学习笔记02:DataFrame获取列名和修改列名 Python_Pandas学习笔记02:DataFrame获取列名和修改列名 一.参考资料 [1].?Pandas获取列名 ...

  10. Python之pandas:对dataframe数据的索引简介、应用大全(输出索引/重命名索引列/字段去重/设置复合索引/根据列名获取对应索引)、指定某字段为索引列等详细攻略

    Python之pandas:对dataframe数据的输出索引.重命名索引列/字段去重/设置复合索引/根据列名获取对应索引.指定某字段为索引列等详细攻略 目录 对pandas中dataframe数据中 ...

最新文章

  1. nanomsg:ZeroMQ作者用C语言新写的消息队列库
  2. initrd映像文档的作用和制作
  3. 第一个以比特币现金ICO的项目,筹集了3000万美元
  4. Java中的String,StringBuilder,StringBuffer三者的区别
  5. Android系统Google Maps开发实例浅析
  6. ms+sql迁移到mysql_mssql数据迁移到mysql
  7. opencv 直线检测 java_OpenCV实现图像的直线检测
  8. 发布后网站浏览时出现乱码
  9. qcombobox 隐藏_Qt之QComboBox定制
  10. iOS笔记(一)GCD多线程:信号量和条件锁
  11. Tcl Tutorial 笔记8 · proc
  12. swift菜鸟入门视频教程-02-基本运算符
  13. mysql_fdw在windows_Citus是否支持使用mysql_fdw创建分片?
  14. 实验设计与分析 (总结8)
  15. Supporting hyperplane
  16. PVE7.2 显示CPU温度和频率
  17. 第七届中国云计算大会在京盛大开幕
  18. 【Python/Pytorch - Bug】-- RuntimeError: ,expected input[16,12,174,145] to have 8 channels,but got 12
  19. 预测师:2007年将是中间商艰难的一年
  20. 程莉计算机网络课后答案,信息学院2011-2012学年学生先进集体和先进个人.doc

热门文章

  1. 在财务中python能做什么_Python在财务会计工作中的应用【举例】
  2. 使用Vundle管理配置Vim的插件
  3. lbochs模拟器最新版_bochs模拟器官方下载
  4. java 批量修改图片名称_java 批量修改文件名称
  5. 苹果手机收不到推送信息_苹果手机微信收不到信息怎么回事(超详细解决方案分享)...
  6. 学习记录——VGG16跑cifar10数据集
  7. CF595B Pasha and Phone
  8. 什么是超大附件?邮箱的超大附件怎么打开?哪个邮箱发送附件大?
  9. Mysql蜜罐读取电脑配置文件
  10. Win10系统中查看是否开启虚拟化