专栏首页小数志详解Pandas读取csv文件时2个有趣的参数设置

详解Pandas读取csv文件时2个有趣的参数设置

导读

Pandas可能是广大Python数据分析师最为常用的库了,其提供了从数据读取、数据预处理到数据分析以及数据可视化的全流程操作。其中,在数据读取阶段,应用pd.read_csv读取csv文件是常用的文件存储格式之一。今天,本文就来分享关于pandas读取csv文件时2个非常有趣且有用的参数。

打开jupyter lab,键入pd.read_csv?并运行即可查看该API的常用参数注解,主要如下:

其中大部分参数相信大家都应该已经非常熟悉,本文来介绍2个参数的不一样用法。

给定一个模拟的csv文件,其中主要数据如下:

可以看到,这个csv文件主要有3列,列标题分别为year、month和day,但特殊之处在于其分隔符不是常规的comma,而是一个冒号。另外也显而易见的是这三列拼凑起来是一个正常的年月日的日期格式。所以今天本文就来分享如何通过这两个参数来实现巧妙的加载和自动解析。

01 sep设置None触发自动解析

既然是csv文件(Comma-Separated Values),所以read_csv的默认sep是",",然而对于那些不是","分隔符的文件,该默认参数下显然是不能正确解析的。此时,当然可以简单的通过传入正确的分隔符作为sep参数来实现正确加载,但如果文件的分隔符是未知的呢?实际上,我们可以无需传入分隔符,而交由解析器自动解析。

查看pd.read_csv中关于sep参数的介绍,可以看到如下说明:

其中,值得注意的有两点:

  • sep默认为",",如果传入None,则C引擎由于不能自动检测和解析分隔符,所以Python引擎将会自动应用于解析和检测(当然,C引擎的解析速度要更快一些,所以实际上这两种解析引擎是各有利弊)
  • 如果sep传入参数超过1个字符,则其将会被视作正则表达式。实际上这也是一个强大的功能,但应用场景不如前者实用

基于上述对sep参数的理解,为了正确加载和解析前述的示例文件,只需将传入sep=None即可:

02 parse_dates实现日期多列拼接

在完成csv文件正确解析的基础上,下面通过parse_dates参数实现日期列的拼接。首先仍然是查看API文档中关于该参数的注解:

其中,可以看出parse_dates参数默认为False,同时支持4种自定义格式的参数的传递,包括:

  • 传入bool值,若传入True值,则将尝试解析索引列
  • 传入列表,并将列表中的每一列尝试解析为日期格式;
  • 传入嵌套列表,并尝试将每个子列表中的所有列拼接后解析为日期格式;
  • 出啊如字典,其中key为解析后的新列名,value为原文件中的待解析的列索引的列表,例如示例中{'foo': [1, 3]}即是用于将原文件中的1和3列拼接解析,并重命名为foo

基于上述理解,完成前面的特殊csv文件中三列拼接解析为日期的需求就非常容易,即将0/1/2列拼接解析就可以了。实现如下:

不得不说,pandas提供的这些函数的参数可真够丰富的了!

本文分享自微信公众号 - 小数志(Datazhi),作者:luanhz

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-06-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据分析从零开始实战(二)

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本...

    龙哥
  • pandas操作excel全总结

    pandas是基于Numpy创建的Python包,内置了大量标准函数,能够高效地解决数据分析数据处理和分析任务,pandas支持多种文件的操作,比如Excel,...

    吾非同
  • 初识Pandas

    江湖上流传着这么一句话——分析不识潘大师(PANDAS),纵是老手也枉然。 Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集,也是我...

    py3study
  • 手把手教你用Python实现Excel中的Vlookup功能

    大家好,我是崔艳飞。工作中经常会遇到,需要把两张Excel或Csv数据表通过关键字段进行关联,匹配对应数据的情况,Excel虽有Vlookup函数可以处理,但数...

    Python进阶者
  • Pandas知识点-DataFrame数据结构介绍

    Pandas是Python中用于数据处理和数据分析的开源库,2008年由金融数据分析师Wes McKinney开发。开发Pandas的初衷是为了方便进行金融数据...

    Python碎片公众号
  • 【学习】Python可视化工具概述-外文编译

    本文由 PPV课 - korobas 翻译,未经许可,禁止转载! 原文翻译链接:http://pbpython.com/visualization-tools...

    小莹莹
  • 使用Dask DataFrames 解决Pandas中并行计算的问题

    如果你对Pandas有一些经验,并且你知道它最大的问题——它不容易扩展。有解决办法吗?

    deephub
  • Python数据分析实战之数据获取三大招

    一个数据分析师,最怕的一件事情莫过于在没有数据的情况下,让你去做一个详细的数据分析报告。确实,巧妇难为无米之炊,数据是数据分析、数据挖掘乃至数据可视化最最基础的...

    咋咋
  • Python数据分析实战之数据获取三大招

    一个数据分析师,最怕的一件事情莫过于在没有数据的情况下,让你去做一个详细的数据分析报告。确实,巧妇难为无米之炊,数据是数据分析、数据挖掘乃至数据可视化最最基础的...

    数据STUDIO
  • 数据分析从零开始实战(一)

    1.创建一个虚拟python运行环境,专门用于本系列学习; 2.数据分析常用模块pandas安装 3.利用pandas模块读写CSV格式文件

    龙哥
  • 使用CSV模块和Pandas在Python中读取和写入CSV文件

    CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据。CSV是一种紧凑,简单且通用的数据交换通用格式。许多在线服务允许其用户将网站中的表格数据导出到CSV...

    用户7466307
  • 在剪贴板上读取/写入数据,太方便了吧!

    说起处理数据,就离不开导入导出,而我们使用Pandas时候最常用的就是read_excel、read_csv了。

    朱小五
  • 一文综述python读写csv xml json文件各种骚操作

    Python优越的灵活性和易用性使其成为最受欢迎的编程语言之一,尤其是对数据科学家而言。这在很大程度上是因为使用Python处理大型数据集是很简单的一件事情。

    磐创AI
  • python数据分析——详解python读取数据相关操作

    一般在做数据分析时最常接触的就是逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯...

    刘早起
  • 如何用Python读取开放数据?

    当你开始接触丰富多彩的开放数据集时,CSV、JSON和XML等格式名词就会奔涌而来。如何用Python高效地读取它们,为后续的整理和分析做准备呢?本文为你一步步...

    王树义
  • 干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML

    导读:本文要介绍的这些技法,会用Python读入各种格式的数据,并存入关系数据库或NoSQL数据库。

    华章科技
  • CSV

    写出这篇文章的原因主要是最近在看一本书《Python爬虫开发与实战-从入门到实战》里面提到了CSV这个模块,我立马进行了尝试,发现非常好用,比之前的xlwt好用...

    皮大大
  • 针对SAS用户:Python数据分析库pandas

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

    程序员小助手
  • 数据分析工具篇——数据读写

    数据分析的本质是为了解决问题,以逻辑梳理为主,分析人员会将大部分精力集中在问题拆解、思路透视上面,技术上的消耗总希望越少越好,而且分析的过程往往存在比较频繁的沟...

    展菲

扫码关注云+社区

领取腾讯云代金券