J'ai un problème pour voir ce qui suit DataFrame
:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
Le problème est qu’il n’imprime pas toutes les lignes par défaut dans ipython notebook, mais je dois découper pour afficher les lignes obtenues. Même l'option suivante ne modifie pas la sortie:
pd.set_option('display.max_rows', 500)
Est-ce que quelqu'un sait comment afficher tout le tableau?
Pour la version 0.11.0, vous devez modifier à la fois display.height
Et display.max_rows
.
pd.set_option('display.height', 500)
pd.set_option('display.max_rows', 500)
Voir aussi pd.describe_option('display')
.
Personnellement, j'aime bien définir les options directement avec une déclaration de mission car elle est facile à trouver via la complétion par tabulation grâce à iPython. J'ai du mal à me souvenir des noms exacts des options, cette méthode fonctionne donc pour moi.
Par exemple, tout ce dont je me souviens, c’est que cela commence par pd.options
pd.options.<TAB>
La plupart des options sont disponibles sous display
pd.options.display.<TAB>
A partir de là, je produis habituellement ce que la valeur actuelle est comme ceci:
pd.options.display.max_rows
60
Je l'ai ensuite réglé sur ce que je veux:
pd.options.display.max_rows = 100
En outre, vous devez connaître le gestionnaire de contexte pour les options, qui définit temporairement les options dans un bloc de code. Transmettez le nom de l'option sous forme de chaîne suivie de la valeur souhaitée. Vous pouvez passer un nombre illimité d'options sur la même ligne:
with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
some pandas stuff
Vous pouvez également réinitialiser une option à sa valeur par défaut comme ceci:
pd.reset_option('display.max_rows')
Et réinitialisez tous:
pd.reset_option('all')
Il est toujours parfaitement utile de définir les options via pd.set_option
. Je trouve que l’utilisation directe des attributs est plus facile et il y a moins de besoin de get_option
et set_option
.
Comme @hanleyhansen l'a noté dans un commentaire, à partir de la version 0.18.1, l'option display.height
Est obsolète et indique "utilisez display.max_rows
À la place". Il suffit donc de le configurer comme ceci:
pd.set_option('display.max_rows', 500)
Voir le Notes de version - pandas 0.18.1 :
La méthode display.width, display.width, obsolète, est désormais uniquement une option de formatage qui ne contrôle pas le déclenchement du résumé, similaire à <0.11.0.
Cela a déjà été souligné dans ce commentaire et dans cette réponse , mais je vais essayer de donner une réponse plus directe à la question:
from IPython.display import display
import numpy as np
import pandas as pd
n = 100
foo = pd.DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
with pd.option_context("display.max_rows", foo.shape[0]):
display(foo)
pandas.option_context est disponible depuis pandas 0.13.1 ( notes de publication de pandas 0.13.1) ). Selon this ,
[it] vous permet [s] d'exécuter un bloc de code avec un ensemble d'options qui rétablissent les paramètres antérieurs lorsque vous quittez le bloc with.
Comme dans cette réponse à un question similaire , il n'est pas nécessaire de modifier les paramètres. C'est beaucoup plus simple d'écrire:
print(foo.to_string())