web-dev-qa-db-ja.com

Pythonでnumpy.arrayとしてcsvファイルをインポートする方法は?

私はこの形式のcsv file.csvを持っていると言います:

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

2番目の列をnumpy.arrayとしてインポートし、3番目の列を次のような別の列としてインポートする方法:

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

Ubuntuでpython2.7を使用しています。

先にTHX!

25
user3692521

numpy.genfromtxt()はここで使用するのに最適です

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.])
42
Anoop

numpy.loadtxt を使用できます。

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])

または numpy.genfromtxt

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

引数の唯一の変更は、dtype=Noneを使用したことです。これは、genfromtxtにファイル内で見つかった値からデータ型を推測するように指示します。

12