盤點(diǎn)Pandas中csv文件讀取的方法所帶參數(shù)usecols知識(shí)
回復(fù)“資源”即可獲贈(zèng)Python學(xué)習(xí)資料
大家好,我是皮皮。
一、前言
前幾天在Python最強(qiáng)王者群有個(gè)叫【老松鼠】的粉絲問了一個(gè)關(guān)于Pandas中csv文件讀取的方法所帶參數(shù)usecols知識(shí)問題,這里拿出來給大家分享下,一起學(xué)習(xí)。

其實(shí)usecols參數(shù)是指定列讀取。

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

舉個(gè)栗子,就像你手中只有常見的人民幣面值,讓你把面值等于5元,10元,10000元的拿出來。你是不是只能拿出來5元的和10元的。讀取,那不是有啥就拿出來啥,手中沒有,當(dāng)然就不用給了。
后來【月神】給補(bǔ)充了一些知識(shí),不知道你有沒有注意到usecols這個(gè)參數(shù)其實(shí)是有返回值的?大部分小伙伴是沒有注意到的。

usecols是先從讀取到的數(shù)據(jù)判斷出當(dāng)前的列名并作為返回值,類似于列表,使用函數(shù)調(diào)用時(shí),例如lambda x:各個(gè)元素都會(huì)被使用到,類似于map(lambda x: x, iterable), iterable就是usecols的返回值,lambda x與此處一致,再將結(jié)果傳入至read_csv中,返回指定列的數(shù)據(jù)框。
對(duì)應(yīng)這個(gè)例子中就是lambda c: c in iterable,其實(shí)不管iterable是列表還是集合,兩者中包含的元素是一樣的,那取出來的列都是一樣的;而這里面的 c 就是usecols的返回值,可以嘗試打印出這個(gè)c,就是你要讀取的csv文件的所有列的列名

后面有拓展一些關(guān)于列表推導(dǎo)式的內(nèi)容,可以學(xué)習(xí)下。

還有一個(gè)更秀的。
compress()函數(shù)幫助列表能夠?qū)崿F(xiàn)布爾索引的函數(shù)。
不過話說回來,我一般都是直接全部導(dǎo)入的,一把梭哈。

三、總結(jié)
大家好,我是皮皮。這篇文章基于粉絲提問,針對(duì)Pandas中csv文件讀取的方法所帶參數(shù)usecols知識(shí),給出了具體說明和演示,順利地幫助粉絲解決了問題!當(dāng)然了,在實(shí)際工作中,大部分情況還是直接全部導(dǎo)入的。
此外,read_csv有幾個(gè)比較好的參數(shù),會(huì)用的多,一個(gè)限制內(nèi)存,一個(gè)分塊,這個(gè)網(wǎng)上有一大堆的講解,這里就沒有涉獵了。
最后感謝粉絲【老松鼠】提問,感謝【德善堂小兒推拿-瑜亮老師】、【??(這是月亮的背面)】和【dcpeng】大佬給出的示例和代碼支持,感謝粉絲【Zhang Zhiyu】、【冫馬讠成】等人參與學(xué)習(xí)交流。
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
