tutorial tablas recorrer para notebook libreria leer hacer graficar funciones espaƱol documentacion datos data con como python numpy pandas

python - tablas - Datos de salida de todas las columnas en un marco de datos en pandas



recorrer data frame pandas (6)

Tengo un archivo csv con el nombre params.csv . Abrí ipython qtconsole y creé un dataframe pandas usando:

import pandas paramdata = pandas.read_csv(''params.csv'', names=paramnames)

donde, paramnames es una lista de Python de objetos de cadena. Ejemplo de paramnames (la longitud de la lista real es 22):

paramnames = ["id", "fc", "mc", "markup", "asplevel", "aspreview", "reviewpd"]

En el prompt de ipython si paramdata y paramdata enter, entonces no obtengo el marco de datos con columnas y valores como se muestra en los ejemplos en el sitio web de Pandas . En cambio, obtengo información sobre el marco de datos. Yo obtengo:

In[35]: paramdata Out[35]: <class ''pandas.core.frame.DataFrame''> Int64Index: 59 entries, 0 to 58 Data columns: id 59 non-null values fc 59 non-null values mc 59 non-null values markup 59 non-null values asplevel 59 non-null values aspreview 59 non-null values reviewpd 59 non-null values

Si paramdata[''mc''] , obtengo los valores esperados para la columna mc . Tengo dos preguntas:

(1) En los ejemplos en el sitio web de pandas (ver, por ejemplo, el resultado de df aquí: http://pandas.sourceforge.net/indexing.html#additional-column-access ) escribiendo el nombre del marco de datos da el Información actual. ¿Por qué recibo información sobre el marco de datos como se muestra arriba en lugar de los datos reales? ¿Debo configurar algunas opciones de salida en alguna parte?

(2) Cómo envío todas las columnas en el marco de datos a la pantalla sin tener que escribir sus nombres, es decir, sin tener que escribir algo como paramdata[[''id'',''fc'',''mc'']] .

Estoy usando pandas versión 0.8.

Gracias.


En ipython , uso esto para imprimir una parte del dataframe que funciona bastante bien (imprime las primeras 100 filas):

print paramdata.head(100).to_string()


Hay demasiados datos para mostrar en la pantalla, por lo tanto, se muestra un resumen en su lugar.

Si desea dar salida a los datos de todos modos (probablemente no se ajusta a una pantalla y no se ve muy bien):

print paramdata.values

convierte el marco de datos a su representación matricial numpy-array.

paramdata.columns

almacena los nombres de columna respectivos y

paramdata.index

almacena el índice respectivo (nombres de fila).


Sé que esta es una vieja pregunta, pero acabo de tener un problema similar y creo que lo que hice también funcionaría para ti.

Usé el método to_csv () y escribí a stdout:

import sys paramdata.to_csv(sys.stdout)

Esto debería volcar todo el marco de datos, ya sea que esté bien imprimible o no, y puede usar los parámetros to_csv para configurar los separadores de columnas, si el índice está impreso, etc.


Utilizar:

pandas.set_option(''display.max_columns'', 7)

Esto obligará a Pandas a mostrar las 7 columnas que tienes. O más en general:

pandas.set_option(''display.max_columns'', None)

lo que lo obligará a mostrar cualquier cantidad de columnas.

Explicación: el valor predeterminado para max_columns es 0 , que le indica a Pandas que muestre la tabla solo si todas las columnas se pueden comprimir en el ancho de la consola.


puede usar la sintaxis de corte de secuencia, es decir,

paramdata[:5] # first five records paramdata[-5:] # last five records paramdata[:] # all records

a veces el marco de datos puede no ajustarse en el búfer de la pantalla, en cuyo caso es mejor que imprima un pequeño subconjunto o que lo exporte a otra cosa, trazar o (csv nuevamente)


también puede usar DataFrame.head(x) / .tail(x) para mostrar la primera / última x filas del DataFrame.