• 盘点Pandas中csv文件读取的方法所带参数usecols知识


    大家好,我是皮皮。

    一、前言

    前几天在Python最强王者群有个叫【老松鼠】的粉丝问了一个关于Pandas中csv文件读取的方法所带参数usecols知识问题,这里拿出来给大家分享下,一起学习。

    image.png

    其实usecols参数是指定列读取。

    image.png

    二、解决过程

    下面是【德善堂小儿推拿-瑜亮老师】大佬解答:

    image.png

    举个栗子,就像你手中只有常见的人民币面值,让你把面值等于5元,10元,10000元的拿出来。你是不是只能拿出来5元的和10元的。读取,那不是有啥就拿出来啥,手中没有,当然就不用给了。

    后来【月神】给补充了一些知识,不知道你有没有注意到usecols这个参数其实是有返回值的?大部分小伙伴是没有注意到的。

    image.png

    usecols是先从读取到的数据判断出当前的列名并作为返回值,类似于列表,使用函数调用时,例如lambda x:各个元素都会被使用到,类似于map(lambda x: x, iterable), iterable就是usecols的返回值,lambda x与此处一致,再将结果传入至read_csv中,返回指定列的数据框。

    对应这个例子中就是lambda c: c in iterable,其实不管iterable是列表还是集合,两者中包含的元素是一样的,那取出来的列都是一样的;而这里面的 c 就是usecols的返回值,可以尝试打印出这个c,就是你要读取的csv文件的所有列的列名

    image.png

    后面有拓展一些关于列表推导式的内容,可以学习下。

    image.png

    还有一个更秀的。

    image.png

    compress()函数帮助列表能够实现布尔索引的函数。

    不过话说回来,我一般都是直接全部导入的,一把梭哈。

    image.png

    三、总结

    大家好,我是皮皮。这篇文章基于粉丝提问,针对Pandas中csv文件读取的方法所带参数usecols知识,给出了具体说明和演示,顺利地帮助粉丝解决了问题!当然了,在实际工作中,大部分情况还是直接全部导入的。

    此外,read_csv有几个比较好的参数,会用的多,一个限制内存,一个分块,这个网上有一大堆的讲解,这里就没有涉猎了。

    最后感谢粉丝【老松鼠】提问,感谢【德善堂小儿推拿-瑜亮老师】、【(这是月亮的背面)】和【dcpeng】大佬给出的示例和代码支持,感谢粉丝【Zhang Zhiyu】、【冫马讠成】等人参与学习交流。

    小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

  • 相关阅读:
    HDU6397
    容斥原理推导错排通项公式
    重复排列的证明
    圆排列证明
    rock-paper-scissors
    The more, The Better
    趁着情人节写点东西
    分层图最短路问题
    背包问题是否装满问题
    Python面向对象编程扑克牌发牌程序,另含大量Python代码!
  • 原文地址:https://www.cnblogs.com/dcpeng/p/16143754.html
Copyright © 2020-2023  润新知