[pyar] Consulta recfromcsv

Santiago Avendaño santiavenda2 en gmail.com
Mie Oct 21 11:33:03 ART 2015


Santiago Avendaño
http://about.me/santiavenda2

El 21 de octubre de 2015, 11:29, Martín Gaitán <gaitan en gmail.com> escribió:

> 2015-10-21 11:17 GMT-03:00 Juan Ignacio Pérez <
> juanignacioperez91 en gmail.com>:
>
>> Buenas, tengo 2 problemas.
>>
>> El primero: tengo una base de datos (.csv de 1229x21) que la estoy
>> levantando mediante: np.recfromcsv('omesom27_20091023T000001_data.csv',
>> delimiter=',')). Hasta acá todo bien, la levanta. Pero en esta base de
>> datos, tanto la primer fila que contiene los nombres de los campos y las
>> columnas 1 y 2 no las tendría que usar. Hay alguna forma de levantar la
>> base de datos sin todos esos datos? o tengo que borrarlas directamente
>> desde el archivo de la base de datos para que no los tome?
>>
>>
>> El segundo: esta base de datos es un parámetro de una función que tiene
>> que recibir un ndarray. Como hago para convertir lo que me devuelve
>> el np.recfromcsv a un ndarray?
>>
>>
> Hola Juan, si directamente necesitas un ndarray, te conviene usar
> np.loadtxt
>
> http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html
>
> probá  algo así:
>
> np.loadtxt('omesom27_20091023T000001_data.csv', *delimiter=",",* skiprows=2,
> usecols=list(range(2,22)))
>
> recfromcsv lo que devuelve es un array estructurado, es decir, uno cuyas
> columnas tienen nombre y pueden tener un tipo de dato distinto para cada
> columna. Muchísimo de su utilidad ha sido reemplazado y superado por Pandas.
>
> acá la doc
> http://docs.scipy.org/doc/numpy/user/basics.rec.html
>
>
> --
> mgaitan.github.io
> textosypretextos.com.ar
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar


Agrego a la opción que te dio Martín la forma de hacerlo con Pandas

Si tenés la posibilidad y no estás matando una mosca con un cañon, instalá
Pandas [0] que te resolvería ambos problemas  (sino hacelo como dijo Martín)

1) Con el método read_csv [1] podes levantar la información de un archivos
csv. Al método read_csv le podés pasar header=0 que indica que la primera
fila del archivo son los headers de las columnas. Luego podes trabajar con
los diferentes métodos que provee pandas para quedarte con las columnas que
necesitas (o podes hacerlo en el siguiente paso)

2) Con el método as_matrix [2] podés extraer el array de numpy que
necesitas de los datos que levantas del csv en el paso anterior.

Finalmente si vas a usar Pandas te recomiendo está introducción corta [3]

[0] http://pandas.pydata.org/
[1]
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
[2]
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.as_matrix.html
[3] http://pandas.pydata.org/pandas-docs/stable/10min.html
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151021/8a64901d/attachment.html>


More information about the pyar mailing list