Chapter4. Numpy之I/O

本章介紹numpy的I/O函數(shù)瓮顽。

1、numpy.loadtext()

numpy.loadtxt(fname,?dtype=,?comments='#',?delimiter=None,?converters=None,?skiprows=0,?usecols=None,?unpack=False,?ndmin=0)

1>功能:

從*.txt (文本文件)中獲取數(shù)據(jù)傅事,每行數(shù)據(jù)的數(shù)量必須相同。

2>參數(shù)說明:

fname:文件名稱或者路徑字符串。如果文件是壓縮文件(.gz题禀,.bz2后綴)文件必須先解壓搬设。

dtype:輸出數(shù)組的數(shù)據(jù)類型穴店。如果這里的數(shù)據(jù)類型是結(jié)構(gòu)型的數(shù)據(jù)({‘names’:(‘name1’.....),'formats':('format_1',......)}),那么輸出的數(shù)組將是一維數(shù)組拿穴,每個(gè)數(shù)組元素的結(jié)構(gòu)與所設(shè)置的數(shù)據(jù)結(jié)構(gòu)相同泣洞。結(jié)構(gòu)型數(shù)據(jù)的列數(shù)必須和文件每行列數(shù)相同。

dtype=int ? ?#整個(gè)sh輸出數(shù)組元素為int類型

dtype={'names':('a','b','c'),'formats':(int,float,int)} ? ?#文件列數(shù)為3默色,輸出數(shù)組為一維數(shù)組球凰,每個(gè)數(shù)組元素為所設(shè)置的格式。注意腿宰,names對應(yīng)的元組里必須是字符串呕诉。names 和formats是固定格式。

>>>[(10, 2., 3) (30, 4., 5)]

commets:注釋標(biāo)記吃度,默認(rèn)為“#”甩挫,其后面的文字將不被載入。

?delimiter:分隔符规肴。用來分割數(shù)據(jù)捶闸。接受字符串

delimiter="," ? ?#默認(rèn)為空白鍵

converters:這里接受一個(gè)字典,建立一個(gè)從列號(column number)到一個(gè)函數(shù)的映射拖刃。函數(shù)的參數(shù)是所在列的元素删壮。這個(gè)參數(shù)可以在所在列丟失數(shù)據(jù)的情況下為該處數(shù)據(jù)設(shè)置一個(gè)默認(rèn)值。用法:

converters={3: lambda x: float(x.strip() or 0} ? ?#在第4列操作兑牡,映射到一個(gè)匿名函數(shù)央碟,參數(shù)為x,當(dāng)數(shù)據(jù)缺失的時(shí)候,用0來填充亿虽。

converters={0:function} ? ?#第1列操作菱涤,映射到function函數(shù)。

skiprows:跳過的行數(shù)洛勉,默認(rèn)為0粘秆,即從第一行開始。

usecols:使用的列序收毫,

usecols=(1,2) ? ?#使用第2列和第三列數(shù)據(jù)

>>>[[2. 3.] [4. 5.]]


2攻走、numpy.genfromtxt()

numpy.genfromtxt(fname,?dtype=,?comments='#',?delimiter=None,?skip_header=0,?skip_footer=0,?converters=None,?missing_values=None,?filling_values=None,?usecols=None,?names=None,?excludelist=None,?deletechars=None,?replace_space='_',?autostrip=False,?case_sensitive=True,?defaultfmt='f%i',?unpack=None,?usemask=False,?loose=True,?invalid_raise=True,?max_rows=None)

1>功能:

此函數(shù)的作用同loadtext,但是較前者更為強(qiáng)大,所接受的文件類型包括文本文檔此再,csv文檔昔搂,以及壓縮文檔(gzip,bz2)。

2>參數(shù)說明:

除了與以上函數(shù)相同的參數(shù)使用方法之外输拇,genfromtxt還有眾多特有的有用方法摘符。

missing_values:此參數(shù)用來識別缺失數(shù)據(jù),與之相對的filling_values用來處理缺失的數(shù)據(jù)策吠。此處可以接受 字符串逛裤、序列字符、字典三種數(shù)據(jù)類型奴曙。這三種數(shù)據(jù)類型中别凹,字符串用來控制所有列的缺失數(shù)據(jù)標(biāo)記;序列字符按順序控制每一列缺失數(shù)據(jù)的標(biāo)記洽糟;字典中炉菲,索引項(xiàng)可以表示列數(shù)或者列名稱,對應(yīng)的項(xiàng)為缺失標(biāo)記坤溃。filling_values也有同樣的用法拍霜。

filling_values:此參數(shù)用來填充用missing_values標(biāo)記的缺失數(shù)據(jù)。

1,*,3薪介;3,4,5 ? ?#使用的數(shù)據(jù)祠饺,“*”為缺失部分

np.genfromtxt('test.txt',delimiter=',',missing_values='*',filling_values='-1') ? ?#標(biāo)記處缺失數(shù)據(jù)是用*表示,采用-1來替換缺失數(shù)據(jù)

>>>[[ 1. -1. 3.] [ 3. 4. 5.]]

autostrip:自動(dòng)的去除元素中的空格鍵汁政,接受布爾類型的值

max_rows:所讀取的最大行數(shù)道偷。必須和skip_footer一起使用。

skip_footer:從尾部開始跳過的行數(shù)记劈。

dtype:所接受的參數(shù)類型與上一個(gè)函數(shù)稍有不同勺鸦,可以接受一個(gè)字符串,序列目木,以及(name,type)型的元組换途。

arr=np.genfromtxt('test.txt',delimiter=',',dtype=(int,float,complex)) ? ?#序列

>>>[(1, nan, 3.+0.j) (3, 4., 5.+0.j)]

arr=np.genfromtxt('test.txt',delimiter=',',dtype=complex) ? ?#單個(gè)類型

>>>[[ 1.+0.j nan+0.j 3.+0.j] [ 3.+0.j 4.+0.j 5.+0.j]]

arr=np.genfromtxt('test.txt',delimiter=',',dtype=[('0',int),('1',complex),('2',complex)]) ? ?#(name,type)型元組,這里name可以通過names參數(shù)設(shè)置。

>>>[(1, nan+0.j, 3.+0.j) (3, 4.+0.j, 5.+0.j)]

names:此參數(shù)用來給每列分配一個(gè)名字

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末军拟,一起剝皮案震驚了整個(gè)濱河市剃执,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌懈息,老刑警劉巖肾档,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辫继,居然都是意外死亡阁最,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門骇两,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姜盈,你說我怎么就攤上這事低千。” “怎么了馏颂?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵示血,是天一觀的道長。 經(jīng)常有香客問我救拉,道長难审,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任亿絮,我火速辦了婚禮告喊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘派昧。我一直安慰自己黔姜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布蒂萎。 她就那樣靜靜地躺著秆吵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪五慈。 梳的紋絲不亂的頭發(fā)上纳寂,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音泻拦,去河邊找鬼毙芜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛聪轿,可吹牛的內(nèi)容都是我干的爷肝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灯抛!你這毒婦竟也來了金赦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤对嚼,失蹤者是張志新(化名)和其女友劉穎夹抗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纵竖,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漠烧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了靡砌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片已脓。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖通殃,靈堂內(nèi)的尸體忽然破棺而出度液,到底是詐尸還是另有隱情,我是刑警寧澤画舌,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布堕担,位于F島的核電站,受9級特大地震影響曲聂,放射性物質(zhì)發(fā)生泄漏霹购。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一朋腋、第九天 我趴在偏房一處隱蔽的房頂上張望齐疙。 院中可真熱鬧,春花似錦旭咽、人聲如沸剂碴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忆矛。三九已至,卻和暖如春请垛,著一層夾襖步出監(jiān)牢的瞬間催训,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工宗收, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漫拭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓混稽,卻偏偏與公主長得像采驻,于是被迫代替她去往敵國和親审胚。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 最近在寫個(gè)性化推薦的論文礼旅,經(jīng)常用到Python來處理數(shù)據(jù)膳叨,被pandas和numpy中的數(shù)據(jù)選取和索引問題繞的比較...
    shuhanrainbow閱讀 4,541評論 6 19
  • 目錄: 5.1 pandas 的數(shù)據(jù)結(jié)構(gòu)介紹 5.1.1 Series 5.1.2 DataFrame 5.1.3...
    凌岸_ing閱讀 4,748評論 0 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)痘系,斷路器菲嘴,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 大叉愣是眼中的刺 恨不能拔掉 又未見孩子的表演 失落貫穿首尾 口在說鼓勵(lì)心卻要責(zé)怪 言不由衷 容易被拆穿的把戲 曾...
    半壁殘?jiān)?/span>閱讀 213評論 2 4
  • 一早定下的大掃除今天終于得以實(shí)現(xiàn),從筱曉的衣柜開始汰翠,把過季的衣服都收起來龄坪,把當(dāng)季的衣服都分類整理放到衣柜最容易拿到...
    玉露君閱讀 158評論 0 0