Comment définir les pandas dataframe de données à gauche/à droite de l'alignement?
- Je utiliser pd.set_option("display.colheader_justify","right")
pour définir l'en-tête de colonne. Mais je ne trouve pas l'option pour les données par pd.describe_option()
.
Comment définir les données à l'intérieur d'un dataframe afficher la gauche ou la droite de l'alignement de chaque colonne? Ou, est-il possible de définir un modèle de format pour l'ensemble de la ligne d'affichage de données?
- Je ne pense pas que cela existe, par défaut, les données sont justifiés à droite en fonction de l'en-tête de la position, il n'existe que des options pour le format de l'en-tête ne sont pas les données pour autant que je peux voir
- vous êtes à la recherche pour atteindre cet objectif dans le bloc-notes ou en général?
- Je ne pense pas que cela existe (je sais à propos de la mise en forme de trucs pour les pivots et les Pandas de Jolies Tables module), mais autant que je sache, ces de ne pas faire ce que vous voulez. Si vous avez besoin d'imprimer les données, vous pouvez utiliser
to_string(justify-'left')
- mais cela s'applique pour toutes les colonnes. Il semble aussi que cela ne peut fonctionner que si votre nom de colonne est assez grande pour vraiment forcer les entrées dans la colonne à être justifiée. Si le nom de colonne est petit et l'entrée est grand, il ne dispose d'aucune justification effet.
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez modifier l'affichage dans un Jupyter ordinateur Portable, vous pouvez utiliser le Style fonctionnalité.
df.style.set_properties(**{'text-align': 'left'})
avec l'exemple ci-dessus et de l'inspection de la colonne de données texte (il reste aligné à droite){'text-align': 'left'}
semble fonctionner pour moi maintenant merci - Pandas 0.22.0, Jupyter 4.4.0, Chrome 70.df.style.set_table_styles([ dict(selector='th', props=[('text-align', 'left')] ) ])
.set_properties(subset=["col1", "col2"], **{'text-align': 'right'})
.La réponse donnée par @Romain est grande, mais je voudrais résumer quelques commentaires:
permettra d'aligner toutes les tables de texte et les en-têtes de colonne ainsi.
vous pouvez le contrôler par un nouveau contexte:
Dans ma situation, j'ai une classe wrapper autour de mes Pandas DataFrame. Cela me permet de justifier le DataFrame de la sortie de chaîne par la personnalisation de l'emballage du
__str__()
méthode.Voici comment j'ai résolu le problème pour mon application, basée sur Unutbu réponse à un question similaire. Les Pandas DataFrame est référencé par
self.data
: