Maison >développement back-end >Tutoriel Python >Comment formater le DataFrame Pandas des flotteurs avec une chaîne personnalisée pour les colonnes ?

Comment formater le DataFrame Pandas des flotteurs avec une chaîne personnalisée pour les colonnes ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-17 04:36:03642parcourir

How to Format Pandas DataFrame of Floats with a Custom String for Columns?

Comment afficher le DataFrame Pandas des flottants à l'aide d'une chaîne de format pour les colonnes ?

Introduction

Pandas fournit un moyen pratique d'afficher des données tabulaires. Cependant, vous devrez parfois personnaliser le format d'affichage pour améliorer la lisibilité ou répondre à des exigences de présentation spécifiques. Cet article présente des méthodes de formatage de colonnes contenant des nombres à virgule flottante dans le format souhaité à l'aide de print() et IPython display(), sans altérer les données d'origine.

Utilisation de pd.options.display.float_format

Pour appliquer uniformément un format souhaité à toutes les colonnes à virgule flottante d'un DataFrame, utilisez l'option pd.options.display.float_format. Par exemple, pour afficher des valeurs numériques sous forme de chaînes au format monétaire avec un signe dollar et deux décimales, vous pouvez utiliser le code suivant :

import pandas as pd

pd.options.display.float_format = '${:,.2f}'.format
df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890],
                  index=['foo','bar','baz','quux'],
                  columns=['cost'])

print(df)

Ce code produira le résultat suivant :

        cost
foo  3.46
bar  4.57
baz  5.68
quux 6.79

Formatage personnalisé pour les colonnes sélectionnées

Si vous avez besoin de différents formats pour différentes colonnes ou si vous souhaitez conserver des types de données spécifiques, vous pouvez modifier le DataFrame lui-même. Le code suivant remplace la colonne spécifiée par sa représentation sous forme de chaîne dans un format personnalisé :

import pandas as pd

df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890],
                  index=['foo','bar','baz','quux'],
                  columns=['cost'])

df['foo'] = df['cost']
df['cost'] = df['cost'].map('${:,.2f}'.format)

print(df)

La sortie résultante sera un DataFrame avec la colonne "foo" formatée en tant que devise et la colonne "cost" restant en tant que type numérique :

         cost       foo
foo   3.46  123.4567
bar   4.57  234.5678
baz   5.68  345.6789
quux  6.79  456.7890

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn