盤點Pandas中csv文件讀取的方法所帶參數usecols知識

python進階學習交流 發佈 2022-04-16T11:16:18.622579+00:00

大家好,我是皮皮。一、前言前幾天在Python最強王者群有個叫【老松鼠】的粉絲問了一個關於Pandas中csv文件讀取的方法所帶參數usecols知識問題,這裡拿出來給大家分享下,一起學習。其實usecols參數是指定列讀取。

大家好,我是皮皮。

一、前言

前幾天在Python最強王者群有個叫【老松鼠】的粉絲問了一個關於Pandas中csv文件讀取的方法所帶參數usecols知識問題,這裡拿出來給大家分享下,一起學習。

其實usecols參數是指定列讀取。

二、解決過程

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

舉個栗子,就像你手中只有常見的人民幣面值,讓你把面值等於5元,10元,10000元的拿出來。你是不是只能拿出來5元的和10元的。讀取,那不是有啥就拿出來啥,手中沒有,當然就不用給了。

後來【月神】給補充了一些知識,不知道你有沒有注意到usecols這個參數其實是有返回值的?大部分小夥伴是沒有注意到的。

usecols是先從讀取到的數據判斷出當前的列名並作為返回值,類似於列表,使用函數調用時,例如lambda x:各個元素都會被使用到,類似於map(lambda x: x, iterable), iterable就是usecols的返回值,lambda x與此處一致,再將結果傳入至read_csv中,返回指定列的數據框。

對應這個例子中就是lambda c: c in iterable,其實不管iterable是列表還是集合,兩者中包含的元素是一樣的,那取出來的列都是一樣的;而這裡面的 c 就是usecols的返回值,可以嘗試列印出這個c,就是你要讀取的csv文件的所有列的列名

後面有拓展一些關於列表推導式的內容,可以學習下。

還有一個更秀的。

compress()函數幫助列表能夠實現布爾索引的函數。

不過話說回來,我一般都是直接全部導入的,一把梭哈。

三、總結

大家好,我是皮皮。這篇文章基於粉絲提問,針對Pandas中csv文件讀取的方法所帶參數usecols知識,給出了具體說明和演示,順利地幫助粉絲解決了問題!當然了,在實際工作中,大部分情況還是直接全部導入的。

此外,read_csv有幾個比較好的參數,會用的多,一個限制內存,一個分塊,這個網上有一大堆的講解,這裡就沒有涉獵了。

最後感謝粉絲【老松鼠】提問,感謝【德善堂小兒推拿-瑜亮老師】、【(這是月亮的背面)】和【dcpeng】大佬給出的示例和代碼支持,感謝粉絲【Zhang Zhiyu】、【冫馬訁成】等人參與學習交流。

小夥伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。

關鍵字: