read - ¿Cómo importar un archivo csv como numpy.array en python?
numpy loadtxt (2)
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo leo datos CSV en una matriz de registros en NumPy? 10 respuestas
decir que tengo un csv file.csv en este formato:
dfaefew,432,1
vzcxvvz,300,1
ewrwefd,432,0
cómo importar la segunda columna como numpy.array y la tercera columna como otra como esta:
second = np.array([432, 300, 432])
third = np.array([1, 1, 0])
Estoy usando python2.7 en Ubuntu.
¡Adelante!
Puedes usar 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])
In [19]: second, third = genfromtxt(''data.csv'', delimiter='','', usecols=(1,2), unpack=True, dtype=None)
El único cambio en los argumentos es que utilicé dtype=None
, que le dice a genfromtxt
que infiera el tipo de datos de los valores que encuentra en el archivo.
numpy.genfromtxt()
es lo mejor para usar aquí
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.])