Pandas在读取csv时如何设置列名--常用方法集锦

今天来整理下如何在读CSV的时候正确处理列名。

  1. csv文件自带列标题
    原始数据是有列标的,用excel打开是这样的:


    Screen Shot 2018-08-30 at 8.20.36 PM.png
import pandas as pd
df_example = pd.read_csv('Pandas_example_read.csv')

这种方法等同于

df_example = pd.read_csv('Pandas_example_read.csv', header=0)

结果都是:


Screen Shot 2018-08-30 at 8.06.12 PM.png
  1. csv文件有列标题,但是想自己换成别的列标题:
    2.1 在读数之后自定义标题:
df_example = pd.read_csv('Pandas_example_read.csv')
df_example.columns = ['A','B','C']

2.2 在读数的同时自定义标题:

df_example = pd.read_csv('Pandas_example_read.csv', names=['A', 'B','C'])

或者

df_example = pd.read_csv('Pandas_example_read.csv', header=0, names=['A', 'B','C'])

2.1和2.2效果都是一样的,读取文件,并且改列名:


Screen Shot 2018-08-30 at 8.10.49 PM.png
  1. csv文件没有列标题,从第一行就直接开始是数据的录入了:
    原始数据是没有列标的,用excel打开呈现是这样的:


    Screen Shot 2018-08-30 at 8.20.49 PM.png
df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', header=None)

这个时候一定要加'header=None', 这样读进来的列名就是系统默认的0,1,2... 序列号:


Screen Shot 2018-08-30 at 8.14.00 PM.png
  1. csv文件没有列标题,但是自己想加上列标题:
    4.1 读进来数之后加上标题
df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', header=None)
df_example_noCols.columns = ['A', 'B','C']

4.2 读数的同时加标题

df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', names=['A', 'B','C'])

或者

df_example_noCols = pd.read_csv('Pandas_example_read_withoutCols.csv', header=None, names=['A', 'B','C'])

注意:这里不可以用'header=0', 用了之后就会导致第一行的数据先被当成了列名,然后又被重命名覆盖,结果是第一行的数据丢失。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 和 Pandas 数据分析教程 原文:Data Analysis with Python and P...
    布客飞龙阅读 83,075评论 9 225
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,794评论 0 9
  • 一、魔法粉末撒撒撒 1、感谢老公送我去医院&电话追踪。 2、感谢安大夫的建议:下回早联系,提前一天借药。并感谢她一...
    刘开颜阅读 2,325评论 0 1
  • 其实,我怀疑自己的看书的目的。是打发时间还是思考人生。若是思考人生,我觉得自己很肤浅,因为每次我看完一本书,再去看...
    _大猫_阅读 4,520评论 2 1
  • 1:阡陌情 陌上拉开风景 烟雨云集 泪伞朦胧 冷落了江南小桥 忧郁爱河流水万家 2:西风冷 西方风帆 涌动欲望的思...
    魏凯博客阅读 1,820评论 0 0