Je souhaite afficher toutes les colonnes d'une trame de données dans un bloc-notes Jupyter. Jupyter montre certaines des colonnes et ajoute des points aux dernières colonnes comme dans l'image suivante:
Comment afficher toutes les colonnes?
Réponses:
Essayez le paramètre d'affichage max_columns comme suit:
import pandas as pd
from IPython.display import display
df = pd.read_csv("some_data.csv")
pd.options.display.max_columns = None
display(df)
Ou
pd.set_option('display.max_columns', None)
Edit: Pandas 0.11.0 à l'envers
Ceci est obsolète mais dans les versions de Pandas antérieures à 0.11.0, le max_columns
paramètre est spécifié comme suit:
pd.set_printoptions(max_columns=500)
with pd.option_context("display.max_rows", 10, "display.max_columns", 5):
(voir Options d'obtention et de configuration ).
Je sais que cette question est un peu vieille, mais la suivante a fonctionné pour moi dans un Jupyter Notebook exécutant pandas 0.22.0 et Python 3:
import pandas as pd
pd.set_option('display.max_columns', <number of columns>)
Vous pouvez également faire de même pour les lignes:
pd.set_option('display.max_rows', <number of rows>)
Cela évite d'importer IPython, et il y a plus d'options dans la documentation pandas.set_option: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html
Peut-être parce que j'ai une ancienne version de pandas mais sur le notebook Jupyter, cela fonctionne pour moi
import pandas as pd
from IPython.core.display import HTML
df=pd.read_pickle('Data1')
display(HTML(df.to_html()))
Je recommande de définir les options d'affichage dans un gestionnaire de contexte afin qu'il n'affecte qu'une seule sortie. Si vous souhaitez également imprimer une "jolie" version html, je définirais une fonction et afficherais le dataframe en df
utilisant 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()))
Comme d'autres l'ont mentionné, veillez à n'appeler cela que sur une trame de données de taille raisonnable.
vous pouvez utiliser pandas.set_option (), pour la colonne, vous pouvez spécifier l'une de ces options
pd.set_option("display.max_rows", 200)
pd.set_option("display.max_columns", 100)
pd.set_option("display.max_colwidth", 200)
Pour une colonne d'impression complète, vous pouvez utiliser comme ceci
import pandas as pd
pd.set_option('display.max_colwidth', -1)
print(words.head())
Si vous voulez afficher toutes les lignes définies comme ci-dessous
pd.options.display.max_rows = None
Si vous souhaitez afficher toutes les colonnes définies comme ci-dessous
pd.options.display.max_columns = None