Imprime una serie completa de Pandas/DataFrame

Resuelto Dun Peal asked hace 11 años • 14 respuestas

Trabajo mucho con Series y DataFrames en la terminal. El valor predeterminado __repr__para una Serie devuelve una muestra reducida, con algunos valores iniciales y finales, pero falta el resto.

¿Existe una forma integrada de imprimir de forma bonita toda la serie/marco de datos? Idealmente, admitiría una alineación adecuada, tal vez bordes entre columnas y tal vez incluso códigos de colores para las diferentes columnas.

Dun Peal avatar Oct 02 '13 02:10 Dun Peal
Aceptado

También puedes utilizar el option_context, con una o más opciones:

with pd.option_context('display.max_rows', None, 'display.max_columns', None):  # more options can be specified also
    print(df)

Esto devolverá automáticamente las opciones a sus valores anteriores.

Si está trabajando en jupyter-notebook, use display(df)en lugar de print(df)utilizará la lógica de visualización rica de jupyter (así) .

tsvikas avatar Jun 07 '2015 09:06 tsvikas

No es necesario piratear la configuración. Hay una manera sencilla:

print(df.to_string())
Andrey Shokhin avatar Oct 07 '2016 18:10 Andrey Shokhin

Claro, si esto surge con frecuencia, haz una función como esta. Incluso puedes configurarlo para que se cargue cada vez que inicies IPython: https://ipython.org/ipython-doc/1/config/overview.html

def print_full(x):
    pd.set_option('display.max_rows', len(x))
    print(x)
    pd.reset_option('display.max_rows')

En cuanto a colorear, ser demasiado elaborado con los colores me parece contraproducente, pero estoy de acuerdo en que algo como bootstrap.table-striped sería bueno. Siempre puedes crear un problema para sugerir esta función.

Dan Allan avatar Oct 01 '2013 21:10 Dan Allan