Quiero mostrar todas las columnas en un marco de datos en un Jupyter Notebook. Jupyter muestra algunas de las columnas y agrega puntos a las últimas columnas como en la siguiente imagen:
¿Cómo puedo mostrar todas las columnas?
Respuestas:
Pruebe la configuración de display max_columns de la siguiente manera:
import pandas as pd
from IPython.display import display
df = pd.read_csv("some_data.csv")
pd.options.display.max_columns = None
display(df)
O
pd.set_option('display.max_columns', None)
Editar: Pandas 0.11.0 al revés
Esto está en desuso, pero en versiones de Pandas anteriores a 0.11.0, la max_columns
configuración se especifica de la siguiente manera:
pd.set_printoptions(max_columns=500)
with pd.option_context("display.max_rows", 10, "display.max_columns", 5):
(consulte Obtener y configurar opciones ).
Sé que esta pregunta es un poco vieja, pero lo siguiente funcionó para mí en un Jupyter Notebook con pandas 0.22.0 y Python 3:
import pandas as pd
pd.set_option('display.max_columns', <number of columns>)
También puede hacer lo mismo con las filas:
pd.set_option('display.max_rows', <number of rows>)
Esto ahorra la importación de IPython, y hay más opciones en la documentación de pandas.set_option: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html
Tal vez porque tengo una versión anterior de pandas, pero en el cuaderno Jupyter esto funciona para mí
import pandas as pd
from IPython.core.display import HTML
df=pd.read_pickle('Data1')
display(HTML(df.to_html()))
Recomiendo configurar las opciones de visualización dentro de un administrador de contexto para que solo afecte a una única salida. Si también desea imprimir una versión html "bonita", definiría una función y mostraría el marco de datos df
usando force_show_all(df)
:
from IPython.core.display import display, HTML
def force_show_all(df):
with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.width', None):
display(HTML(df.to_html()))
Como han mencionado otros, tenga cuidado de llamar a esto solo en un marco de datos de tamaño razonable.
puede usar pandas.set_option (), para la columna, puede especificar cualquiera de estas opciones
pd.set_option("display.max_rows", 200)
pd.set_option("display.max_columns", 100)
pd.set_option("display.max_colwidth", 200)
Para la columna de impresión completa, puede usar así
import pandas as pd
pd.set_option('display.max_colwidth', -1)
print(words.head())
Si desea mostrar todas las filas establecidas como abajo
pd.options.display.max_rows = None
Si desea mostrar todas las columnas configuradas como abajo
pd.options.display.max_columns = None