Voglio mostrare tutte le colonne in un dataframe in un Jupyter Notebook. Jupyter mostra alcune delle colonne e aggiunge punti alle ultime colonne come nella seguente immagine:
Come posso visualizzare tutte le colonne?
Risposte:
Prova l'impostazione display max_columns come segue:
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)
Modifica: Panda 0.11.0 all'indietro
Questo è deprecato ma nelle versioni di Panda precedenti alla 0.11.0 l' max_columns
impostazione è specificata come segue:
pd.set_printoptions(max_columns=500)
with pd.option_context("display.max_rows", 10, "display.max_columns", 5):
(vedere Opzioni di acquisizione e impostazione ).
So che questa domanda è un po 'vecchia ma quanto segue ha funzionato per me in un notebook Jupyter con panda 0.22.0 e Python 3:
import pandas as pd
pd.set_option('display.max_columns', <number of columns>)
Puoi fare lo stesso anche per le righe:
pd.set_option('display.max_rows', <number of rows>)
Ciò consente di risparmiare l'importazione di IPython e ci sono più opzioni nella documentazione pandas.set_option: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html
Forse perché ho una versione precedente dei panda, ma sul notebook Jupyter questo funziona per me
import pandas as pd
from IPython.core.display import HTML
df=pd.read_pickle('Data1')
display(HTML(df.to_html()))
Consiglio di impostare le opzioni di visualizzazione all'interno di un gestore di contesto in modo che influisca solo su un singolo output. Se vuoi anche stampare una versione html "carina", definirei una funzione e visualizzare il dataframe 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()))
Come altri hanno già detto, sii cauto nel chiamarlo solo su un dataframe di dimensioni ragionevoli.
puoi usare pandas.set_option (), per la colonna, puoi specificare una qualsiasi di queste opzioni
pd.set_option("display.max_rows", 200)
pd.set_option("display.max_columns", 100)
pd.set_option("display.max_colwidth", 200)
Per la colonna di stampa completa, puoi usare in questo modo
import pandas as pd
pd.set_option('display.max_colwidth', -1)
print(words.head())
Se vuoi mostrare tutte le righe impostate come sotto
pd.options.display.max_rows = None
Se vuoi mostrare tutte le colonne impostate come sotto
pd.options.display.max_columns = None