Python科學計算——Numpy.genfromtxt


今天在kaggle上看到一個很好的數據集,想親自進行處理,但是在將.csv格式文件轉化為數據矩陣時就出現了問題,我在谷歌上查了下,發現了個很好用的東西和大家分享。那就是Numpy包里的genfromtxt。它可以很輕松的實現上述功能。

此函數的完整形式為:

numpy.genfromtxt(fname, dtype=<type 'float'>, 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)[source]¶

 今天先介紹幾個一定會用到的屬性:

1.fname,顧名思義,就是文件名,不詳述

2.delimiter:str,int,or sequence,optional.他是分割值,即表示你的數組用什么來分割。

3.usecols,即選擇讀哪幾行,在講文件讀入代碼的時候,我們通常是將屬性集讀為一個數組,此時它就派上用場了

4.dtype,表明改行類型

如果你還有必要知道它的其他的參數,你可以參考它的官方文檔

為了讓描述更加形象化,我們引入一個數據集,下載,或者直接運行下列代碼即可

import urllib2
url = 'http://aima.cs.berkeley.edu/data/iris.csv'
u = urllib2.urlopen(url)
localFile = open('iris.csv'', 'w')
localFile.write(u.read())
localFile.close()

運行這段代碼,代碼非常簡單,我是直接從網上拷貝的,這里不做詳述。你當前文件夾下就會生成一個iris.csv文件

那現在我們如何講該數據集導入程序呢?就就要用到我們介紹的這個庫了

from numpy import genfromtxt,zeros
data=genfromtxt('iris.csv',delimiter=',',usecols=(0,1,2,3))
target=genfromtxt('iris.csv',delimiter=',',usecols=(4),dtype=str)

 好了,這樣我們就導入成功了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM