pandas讀取csv格式數(shù)據(jù)時(shí)header參數(shù)設(shè)置方法
寫在前面
使用pandas中read_csv讀取csv數(shù)據(jù)時(shí),對(duì)于有表頭的數(shù)據(jù),將header設(shè)置為空(None),會(huì)報(bào)錯(cuò):pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2, saw 5
。
查看pandas官方文檔發(fā)現(xiàn),read_csv
讀取時(shí)會(huì)自動(dòng)識(shí)別表頭,數(shù)據(jù)有表頭時(shí)不能設(shè)置header為空(默認(rèn)讀取第一行,即header=0
);數(shù)據(jù)無表頭時(shí),若不設(shè)置header,第一行數(shù)據(jù)會(huì)被視為表頭,應(yīng)傳入names
參數(shù)設(shè)置表頭名稱或設(shè)置header=None
。
參考文檔
這是pandas的read_csv的官方文檔: python - pandas.read_csv
read_csv的header參數(shù)
使用pandas的read_csv
讀取數(shù)據(jù)時(shí),header
參數(shù)表頭名稱設(shè)置(即各列數(shù)據(jù)對(duì)應(yīng)名稱),下面是文檔中對(duì)header參數(shù)的說明:
其中指出,表頭可根據(jù)數(shù)據(jù)格式推斷各列名稱:默認(rèn)情況下,
- 若未傳入
names
參數(shù),則根據(jù)輸入文件的第一行推斷是否有表頭; - 若傳入
names
參數(shù),則names傳入的參數(shù)作為表頭(原數(shù)據(jù)有表頭則會(huì)替換原有表頭)。
下面是對(duì)read_csv
的header參數(shù)測(cè)試
header參數(shù)測(cè)試
測(cè)試數(shù)據(jù) 兩個(gè)csv(用逗號(hào)隔開)格式的文件,這里是用Excel打開,分別是帶有表頭和不帶表頭的數(shù)據(jù):
默認(rèn)header 下面是header默認(rèn)情況下,對(duì)有表頭的數(shù)據(jù)識(shí)別第一行作為header(即header=0)[ 數(shù)據(jù)沒有給出index名稱,這里設(shè)置 index_col=False
,不設(shè)置默認(rèn)第一列為index(而表頭仍是4列,最后一列數(shù)據(jù)為NaN), index_col
參數(shù)與 header
類似可自動(dòng)識(shí)別。
設(shè)置header=None 對(duì)有表頭的數(shù)據(jù)設(shè)置 header=None
則會(huì)報(bào)錯(cuò):
對(duì)無表頭的數(shù)據(jù),則需設(shè)置 header=None
,否則第一行數(shù)據(jù)被作為表頭:
思考
pandas是如何識(shí)別或區(qū)分?jǐn)?shù)據(jù)和表頭名稱的 ?
- 對(duì)于
index_col
來說,若數(shù)據(jù)都是相同類型,比如數(shù)值型,則表示無index,輸出默認(rèn)index為0,1,2,…;若數(shù)據(jù)第一列為字符,其他列為數(shù)值,則會(huì)將第一列視為index;若設(shè)置index_col=False
, 則表示無index(默認(rèn)將0, 1, 2,…作為數(shù)據(jù)的index) - 對(duì)
header
,當(dāng)?shù)谝恍袨樽址瑒t第一行默認(rèn)為表頭;當(dāng)?shù)谝恍信c其他數(shù)據(jù)類型相同時(shí),也會(huì)把第一行當(dāng)作表頭,所以無表頭時(shí)應(yīng)設(shè)置header=None
header傳入list參數(shù)(元素代表取對(duì)應(yīng)行號(hào))怎么用?
read_csv的參數(shù)skip_blank_lines=True
會(huì)忽略注釋行和空行,其中注釋行是用什么符號(hào)注釋的?(試了一下,行首用’#'注釋的不對(duì))
到此這篇關(guān)于pandas讀取csv格式數(shù)據(jù)時(shí)header參數(shù)設(shè)置方法的文章就介紹到這了,更多相關(guān)pandas header參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)串口自動(dòng)觸發(fā)工作的示例
今天小編就為大家分享一篇python實(shí)現(xiàn)串口自動(dòng)觸發(fā)工作的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07M1芯片安裝python3.9.1的實(shí)現(xiàn)
這篇文章主要介紹了M1芯片安裝python3.9.1的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02一個(gè)Python案例帶你掌握xpath數(shù)據(jù)解析方法
xpath解析是最常用且最便捷高效的一種解析方式,通用性強(qiáng)。本文將通過一個(gè)Python爬蟲案例帶你詳細(xì)了解一下xpath數(shù)據(jù)解析方法,需要的可以參考一下2022-02-02tensorflow 1.X遷移至tensorflow2 的代碼寫法
本文主要介紹了tensorflow 1.X遷移至tensorflow2 的代碼寫法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12django drf框架自帶的路由及最簡(jiǎn)化的視圖
這篇文章主要介紹了django-drf框架自帶的路由以及最簡(jiǎn)化的視圖,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09pygame編寫音樂播放器的實(shí)現(xiàn)代碼示例
這篇文章主要介紹了pygame編寫音樂播放器的實(shí)現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python編寫學(xué)生成績(jī)管理系統(tǒng)的邏輯結(jié)構(gòu)及功能實(shí)現(xiàn)
這篇文章主要為大家介紹了python編寫學(xué)生成績(jī)管理系統(tǒng)實(shí)現(xiàn)八個(gè)功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04解決python nohup linux 后臺(tái)運(yùn)行輸出的問題
今天小編就為大家分享一篇解決python nohup linux 后臺(tái)運(yùn)行輸出的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05python pygame實(shí)現(xiàn)2048游戲
這篇文章主要為大家詳細(xì)介紹了python pygame實(shí)現(xiàn)2048游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11詳解Python最長(zhǎng)公共子串和最長(zhǎng)公共子序列的實(shí)現(xiàn)
這篇文章主要介紹了詳解Python最長(zhǎng)公共子串和最長(zhǎng)公共子序列的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07