2014-09-02 33 views
23

ben bu formatta bir csv file.csv olduğunu varsayalım:python'da csv dosyasını numpy.array olarak içe aktarma?

second = np.array([432, 300, 432]) 
third = np.array([1, 1, 0]) 

I: Bir numpy.array ve bunun gibi başka bir üçüncü sütunu olarak ikinci sütunu nasıl içe

dfaefew,432,1 
vzcxvvz,300,1 
ewrwefd,432,0 

Ubuntu'da python2.7 kullanıyorum.

İleride!

cevap

38

numpy.genfromtxt() burada

import numpy as np 
csv = np.genfromtxt ('file.csv', delimiter=",") 
second = csv[:,1] 
third = csv[:,2] 

>>> second 
Out[1]: array([ 432., 300., 432.]) 

>>> third 
Out[2]: array([ 1., 1., 0.]) 
kullanmak en iyi şey
11

Sen numpy.loadtxt kullanabilirsiniz:

In [15]: !cat data.csv 
dfaefew,432,1 
vzcxvvz,300,1 
ewrwefd,432,0 

In [16]: second, third = loadtxt('data.csv', delimiter=',', usecols=(1,2), unpack=True, dtype=int) 

In [17]: second 
Out[17]: array([432, 300, 432]) 

In [18]: third 
Out[18]: array([1, 1, 0]) 

Ya argümanları tek değişiklik ı değerlerden veri türünü anlaması için genfromtxt söyler dtype=None, kullanılan olmasıdır numpy.genfromtxt

In [19]: second, third = genfromtxt('data.csv', delimiter=',', usecols=(1,2), unpack=True, dtype=None) 

işte bu dosyada bulur.

İlgili konular