Actualización: Pandas 0.23.4 en adelante
Esto no es necesario, los pandas detectan automáticamente el tamaño de la ventana de su terminal si lo configura pd.options.display.width = 0
. (Para versiones anteriores, ver abajo).
pandas.set_printoptions(...)
es obsoleto. En cambio, use pandas.set_option(optname, val)
, o equivalente pd.options.<opt.hierarchical.name> = val
. Me gusta:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
Aquí está la ayuda paraset_option
:
set_option (pat, value): establece el valor de la opción especificada
Opciones Disponibles:
display. [chop_threshold, colheader_justify, column_space, date_dayfirst,
date_yearfirst, codificación, expand_frame_repr, float_format, height,
line_width, max_columns, max_colwidth, max_info_columns, max_info_rows,
max_rows, max_seq_items, mpl_style, multi_sparse, notebook_repr_html,
pprint_nest_depth, precisión, ancho]
modo. [sim_interactive, use_inf_as_null]
Parámetros
----------
pat - str / regexp que debe coincidir con una sola opción.
Nota: las coincidencias parciales son compatibles por conveniencia, pero a menos que use el
nombre completo de la opción (egxyzoption_name), su código puede romperse en el futuro
versiones si se introducen nuevas opciones con nombres similares.
valor: nuevo valor de la opción.
Devoluciones
-------
Ninguna
Plantea
------
KeyError si no existe tal opción
display.chop_threshold: [predeterminado: Ninguno] [actualmente: Ninguno]
: flotante o ninguno
si se establece en un valor flotante, todos los valores flotantes son más pequeños que el umbral dado
se mostrará exactamente como 0 por repr y amigos.
display.colheader_justify: [predeterminado: derecho] [actualmente: derecho]
: 'izquierda derecha'
Controla la justificación de los encabezados de columna. utilizado por DataFrameFormatter.
display.column_space: [predeterminado: 12] [actualmente: 12] No hay descripción disponible.
display.date_dayfirst: [predeterminado: False] [actualmente: False]
: boolean
Cuando es verdadero, imprime y analiza las fechas con el día primero, por ejemplo, 20/01/2005
display.date_yearfirst: [predeterminado: False] [actualmente: False]
: boolean
Cuando es verdadero, imprime y analiza las fechas con el año primero, por ejemplo, 2005/01/20
display.encoding: [predeterminado: UTF-8] [actualmente: UTF-8]
: str / unicode
El valor predeterminado es la codificación detectada de la consola.
Especifica la codificación que se utilizará para las cadenas devueltas por to_string,
Estas son generalmente cadenas destinadas a mostrarse en la consola.
display.expand_frame_repr: [predeterminado: True] [actualmente: True]
: boolean
Ya sea para imprimir la repr DataFrame completa para marcos de datos anchos
a través de varias líneas, `max_columns` todavía se respeta, pero el resultado será
envolver varias "páginas" si su ancho excede `display.width`.
display.float_format: [predeterminado: Ninguno] [actualmente: Ninguno]
: invocable
El invocable debe aceptar un número de coma flotante y devolver
una cadena con el formato deseado del número. Esto es usado
en algunos lugares como SeriesFormatter.
Ver core.format.EngFormatter para un ejemplo.
display.height: [predeterminado: 60] [actualmente: 1000]
: En t
Obsoleto.
(En desuso, use `display.height` en su lugar).
display.line_width: [predeterminado: 80] [actualmente: 1000]
: En t
Obsoleto.
(En desuso, use `display.width` en su lugar).
display.max_columns: [predeterminado: 20] [actualmente: 500]
: En t
max_rows y max_columns se usan en los métodos __repr __ () para decidir si
to_string () o info () se usa para representar un objeto en una cadena. En caso
Python / IPython se está ejecutando en una terminal, esto se puede establecer en 0 y pandas
detectará automáticamente el ancho del terminal y cambiará a un ancho más pequeño
formato en caso de que todas las columnas no encajen verticalmente. El cuaderno de IPython,
IPython qtconsole, o IDLE no se ejecutan en una terminal y, por lo tanto, no es
posible hacer la autodetección correcta.
El valor 'Ninguno' significa ilimitado.
display.max_colwidth: [predeterminado: 50] [actualmente: 50]
: En t
El ancho máximo en caracteres de una columna en la representación de
Una estructura de datos de pandas. Cuando la columna se desborda, un "..."
el marcador de posición está incrustado en la salida.
display.max_info_columns: [predeterminado: 100] [actualmente: 100]
: En t
max_info_columns se usa en el método DataFrame.info para decidir si
Se imprimirá la información por columna.
display.max_info_rows: [predeterminado: 1690785] [actualmente: 1690785]
: int o Ninguno
max_info_rows es el número máximo de filas para las que un marco
realice una comprobación nula en sus columnas al volver a reproducir en una consola.
El valor predeterminado es 1,000,000 de filas. Entonces, si un DataFrame tiene más
1,000,000 filas no habrá verificación nula realizada en el
columnas y, por lo tanto, la representación tomará mucho menos tiempo para
mostrar en una sesión interactiva. Un valor de Ninguno significa siempre
realice una verificación nula cuando repita.
display.max_rows: [predeterminado: 60] [actualmente: 500]
: En t
Esto establece el número máximo de filas que los pandas deben generar al imprimir
fuera varios salida. Por ejemplo, este valor determina si repr ()
para que un marco de datos se imprima completamente o solo un resumen repr.
El valor 'Ninguno' significa ilimitado.
display.max_seq_items: [predeterminado: Ninguno] [actualmente: Ninguno]
: int o Ninguno
cuando se imprime una secuencia larga, no más de `max_seq_items`
será impreso Si se omiten elementos, se indicarán mediante la adición
de "..." a la cadena resultante.
Si se establece en Ninguno, el número de elementos a imprimir es ilimitado.
display.mpl_style: [predeterminado: Ninguno] [actualmente: Ninguno]
: bool
Establecer esto como 'predeterminado' modificará los rcParams utilizados por matplotlib
para dar a las tramas un estilo visual más agradable por defecto.
Establecer esto en Ninguno / Falso restaura los valores a su valor inicial.
display.multi_sparse: [predeterminado: True] [actualmente: True]
: boolean
Pantalla "MultiSdex" "sparsify" (no mostrar repetidos
elementos en niveles externos dentro de grupos)
display.notebook_repr_html: [predeterminado: True] [actualmente: True]
: boolean
Cuando es verdadero, el cuaderno de IPython usará representación html para
objetos pandas (si está disponible).
display.pprint_nest_depth: [predeterminado: 3] [actualmente: 3]
: En t
Controla el número de niveles anidados para procesar cuando se imprime bonito
display.precision: [predeterminado: 7] [actualmente: 7]
: En t
Precisión de salida de punto flotante (número de dígitos significativos). Esto es
solo una sugerencia
ancho de pantalla: [predeterminado: 80] [actualmente: 1000]
: En t
Ancho de la pantalla en caracteres. En caso de que Python / IPython se esté ejecutando en
un terminal que se puede configurar en Ninguno y los pandas detectarán automáticamente
anchura.
Tenga en cuenta que el cuaderno IPython, IPython qtconsole o IDLE no se ejecutan en un
terminal y, por lo tanto, no es posible detectar correctamente el ancho.
mode.sim_interactive: [predeterminado: False] [actualmente: False]
: boolean
Si simular el modo interactivo para fines de prueba
mode.use_inf_as_null: [predeterminado: False] [actualmente: False]
: boolean
Verdadero significa tratar None, NaN, INF, -INF como nulo (forma antigua),
Falso significa que Ninguno y NaN son nulos, pero INF, -INF no son nulos
(nueva manera).
Llamada def: pd.set_option (self, * args, ** kwds)
EDITAR: información de la versión anterior, gran parte de esto ha quedado en desuso.
Como @bmu mencionó , pandas detecta automáticamente (por defecto) el tamaño del área de visualización, se usará una vista de resumen cuando un objeto repr no se ajuste a la pantalla. Usted mencionó cambiar el tamaño de la ventana IDLE, sin ningún efecto. Si lo hace, print df.describe().to_string()
¿cabe en la ventana IDLE?
El tamaño del terminal está determinado por pandas.util.terminal.get_terminal_size()
(en desuso y eliminado), esto devuelve una tupla que contiene el (width, height)
de la pantalla. ¿La salida coincide con el tamaño de su ventana IDLE? Puede haber un problema (hubo uno antes al ejecutar un terminal en emacs).
Tenga en cuenta que es posible omitir la detección automática, pandas.set_printoptions(max_rows=200, max_columns=10)
nunca cambiará a la vista de resumen si el número de filas y columnas no supera los límites establecidos.
La opción 'max_colwidth' ayuda a ver la forma no truncada de cada columna.
display.height
en su lugar ... Estoy en bucle muerto.pd.options
, por ejemplopd.options.display.max_rows = 999
.head()
o lo que sea.Prueba esto:
De la documentación:
Ver: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
fuente
pandas\core\config_init.py
para configurarlo permanentemente.Si desea establecer opciones temporalmente para mostrar un DataFrame grande, puede usar option_context :
Los valores de las opciones se restauran automáticamente cuando sale del
with
bloque.fuente
None
se puede utilizar (en lugar de 999, etc.).with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)
no funcionó No cambió la cantidad de columnas que quería ver. Sin embargo, la solución de Wouter Overmeiere funcionó.-1
o500
, no ninguno.max_rows
valor;). Establecer'display.max_rows'
-1 parece estropear el formato por completo (para mis datos no se bloquea, pero ahora imprime ciertas filas varias veces).Solo usar estas 3 líneas funcionó para mí:
Anaconda / Python 3.6.5 / pandas: 0.23.0 / Visual Studio Code 1.26
fuente
Establezca el ancho máximo de la columna con:
Esta declaración particular establece el ancho máximo a 800 px, por columna.
fuente
display.max_colwidth
? Así es como aparece en la documentación. Estoy de acuerdo en que solomax_colwidth
funciona y es más corto de escribir, pero me sorprendió.Puede usar
print df.describe().to_string()
para forzarlo a mostrar toda la tabla. (Puede usarloto_string()
así para cualquier DataFrame. El resultadodescribe
es solo un DataFrame).El 8 es el número de filas en el DataFrame que contiene la "descripción" (porque
describe
calcula 8 estadísticas, min, max, mean, etc.).fuente
Puede ajustar las opciones de impresión de pandas con
set_printoptions
.Sin embargo, esto no funcionará en todos los casos, ya que los pandas detectan el ancho de su consola y solo se usarán
to_string
si la salida cabe en la consola (vea la cadena de documentación deset_printoptions
). En este caso, puede llamar explícitamenteto_string
como respondió BrenBarn .Actualizar
Con la versión 0.10, la forma en que se imprimen los marcos de datos anchos cambió :
Además, la API para configurar las opciones de pandas cambió:
fuente
Puede configurar la pantalla de salida para que coincida con el ancho actual de su terminal:
fuente
pd.set_option('display.width', None)
en una terminal, "los pandas detectarán automáticamente el ancho correctamente" .pd.options.display.width = None
pd.io.formats.terminal.get_terminal_size()
De acuerdo con los documentos para v0.18.0 , si está ejecutando en un terminal (es decir, no en un portátil iPython, qtconsole o IDLE), es un 2-liner para que Pandas detecte automáticamente el ancho de su pantalla y se adapte sobre la marcha con cuántos columnas que muestra:
fuente
Parece que todas las respuestas anteriores resuelven el problema. Un punto más: en lugar de
pd.set_option('option_name')
, puede usar el (auto-complete-able)Ver Pandas doc: Opciones y configuraciones:
[...]
para los
max_...
params:para el
width
param:fuente
Salida:
fuente
Usé esta configuración cuando la escala de datos es alta.
Puedes consultar la documentación aquí
fuente
La siguiente línea es suficiente para mostrar todas las columnas del marco de datos.
pd.set_option('display.max_columns', None)
fuente
pd.set_option('display.max_columns', 0)
¿Cuáles son los beneficios de los suyos?Si no desea meterse con sus opciones de visualización y solo desea ver esta lista particular de columnas sin expandir cada marco de datos que ve, puede intentar:
fuente
También puedes probar en un bucle:
fuente
Simplemente puede hacer los siguientes pasos,
Puede cambiar las opciones para la función pandas max_columns de la siguiente manera
(esto permite que se muestren 10 columnas, puede cambiar esto según lo necesite)
De este modo, puede cambiar el número de filas que necesita para mostrar de la siguiente manera (si también necesita cambiar las filas máximas)
(esto permite imprimir 999 filas a la vez)
Consulte el documento para cambiar las diferentes opciones / configuraciones de los pandas
fuente