文章目录

  • 前言
  • 一 部分列重命名
  • 二 全部列重命名
  • 三 str 批量修改列名
  • 四 读取csv文件重命名
  • 后记

前言

首先,我们创建一个5行4列的DataFrame数据作为示例,进行演示

import pandas as pd
import numpy as npdf = pd.DataFrame(data=np.arange(20).reshape(5,4), columns=['a', 'b', 'c', 'd'])dfa   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

一 部分列重命名

有时候,我们只需要将部分列的列名重命名。可以使用字典的方式,更改指定的列名。

df.rename(columns={'a': 'A'})A   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

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

dfa   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

这种情况下比较适合不变原有数据,通过赋值对新数据列改名,如下:

df2 = df.rename(columns={'a': 'A'})
df2A   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

如果我们指定inplace=True,则会改变原始数据

df.rename(columns={'a': 'A', 'c': 'C', 'd': 'D'}, inplace=True)
dfA   b   C   D
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

二 全部列重命名

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

df.columns = ['a1', 'b1', 'c1', 'd1']
dfa1  b1  c1  d1
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  16  17  18  19

三 str 批量修改列名

将列名’a1’, ‘b1’… 批量改为’a2’, 'b2’…

df.columns = df.columns.str.replace('1', '2')
dfa2  b2  c2  d2
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11
3  12  13  14  15
4  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 DataFrame数据重命名列名的几种方式相关推荐

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

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

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

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

  3. pandas dataframe数据聚合groupby、agg、privot基于sum统计详解及实例

    pandas dataframe数据聚合groupby.agg.privot基于sum统计详解及实例 知道了sum.那么min.max.mean.median都是举一反三的事情了. 在日常的数据分析中 ...

  4. pandas DataFrame数据取出两列

    pandas DataFrame数据取出两列 最常用的是以下两种方式 最常用的是以下两种方式 df = pd.DataFrame(df,columns=['feater','predict'])# 或 ...

  5. MySQL 重命名表名 2种方法

    今天用 phpMyAdmin 创建了一张表后,发现"表名字"取得有点后悔,想直接删除重新创建一个,但是这个表的字段又有点多,居然有30多个字段,后来就找到了MySQL表重命名的方法 ...

  6. python 保存csv,Python数据存储到文件的3种方式

    原标题:Python数据存储到文件的3种方式 爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保存数据的方式有如下几种: 文件:txt.csv.excel.json等,保存数据量小. 关 ...

  7. Docker的常用管理命令Docker将数据挂载到容器的三种方式

    文章目录 镜像管理命令 容器管理常用命令 docker run常用参数 Docker run的其他参数 docker 创建容器命令 容器资源限制 docker管理容器常用命令 docker将数据挂载到 ...

  8. mysql数据存储方式_数据存储在mysql的两种方式

    数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...

  9. 大数据正在改变客户服务的五种方式

    大数据正在改变客户服务的五种方式 任何组织的命脉,无论是否面向服务,都是需要为客户提供良好的服务.组织如何与其客户进行互动,会影响他们如何看待组织,这会影响潜在客户,除了组织最忠实的客户之外. 客户服 ...

最新文章

  1. puppet自动化运维之exec资源
  2. opencv videoio无法读取rstp_使用一行Python代码从图像读取文本
  3. 基于原始套接字的嗅探器
  4. [蓝桥杯][算法提高VIP]排队打水问题(贪心)
  5. 【C语言】如何安装CLion并在CLion中Run一个程序
  6. c++代码好玩_Python开源学习:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...
  7. 网页特效代码大全网址
  8. Aiseesoft Screen Recorder入门教程
  9. android信鸽推送demo_腾讯信鸽Android推送集成全解
  10. maya 2017 linux 下载,Maya插件下载 Maya神级特效优化插件Soup For Maya 2017-2019 Win/Mac/Linux安装版 下载-脚本之家...
  11. 343.微生物组研究写作的一般思路
  12. (已解决)spring-boot maven报错Project 'org.springframework.boot:spring-boot-starter-parent:2.2.0.RELEAS
  13. android 转场动画 监听,Android 中的转场动画及兼容处理
  14. 第五章 数据链路层与局域网
  15. Harbor安装教程-完全根据官方文档2.6.0版本
  16. 电子驻车系统(拉索式)
  17. android measure
  18. double类型的两个数可以直接比较吗?
  19. jquery fileupload 判断上传文件的类型
  20. 使用while循环,求1+11+111+1111+11111+111111

热门文章

  1. Bose SoundLink Revolve或者Bose SoundLink Revolve+ AUX音频播放一会没有声音
  2. 变现 起航篇! 手把手交你用chatgpt快速生成视频!
  3. win10自带的输入法变成了繁体怎么改回来
  4. 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)
  5. 有序的uuid(32位)
  6. 成功破解苹果iPhone全功能之网友教程篇
  7. 荣耀手环6太带劲 大屏时代终来临
  8. 【BasicNet系列:六】MobileNet 论文 v1 v2 笔记解读 + pytorch代码分析
  9. 不同语言编程能整合到一起吗_台达DVPPLC编程技巧大全(105讲)第三讲
  10. 135微信编辑html语言,135微信编辑器如何使用 135编辑器微信文章编辑教程