Pandas : comment utiliser décrire() et supprimer la notation scientifique
Vous pouvez utiliser la fonction décrire() pour générer des statistiques descriptives pour les variables dans un DataFrame pandas.
Pour supprimer la notation scientifique dans la sortie de la fonction décrire() , vous pouvez utiliser les méthodes suivantes :
Méthode 1 : supprimer la notation scientifique lors de l’utilisation describe() avec une colonne
df['my_column'].describe().apply(lambda x: format(x, 'f'))
Méthode 2 : supprimer la notation scientifique lors de l’utilisation describe() avec plusieurs colonnes
df.describe().apply(lambda x: x.apply('{0:.5f}'.format))
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'store': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'sales': [8450550, 406530, 53000, 6000, 2000, 4000, 5400, 6500],
'returns':[2212200, 145200, 300, 2500, 700, 600, 800, 1200]})
#view DataFrame
print(df)
store sales returns
0 A 8450550 2212200
1 A 406530 145200
2 A 53000 300
3 A 6000 2500
4 B 2000 700
5 B 4000 600
6 B 5400 800
7 B 6500 1200
Exemple 1 : supprimer la notation scientifique lors de l’utilisation describe() avec une colonne
Si nous utilisons la fonction décrire() pour calculer des statistiques descriptives pour la colonne des ventes , les valeurs de la sortie seront affichées en notation scientifique :
#calculate descriptive statistics for sales column
df['sales'].describe()
count 8.000000e+00
mean 1.116748e+06
std 2.966552e+06
min 2.000000e+03
25% 5.050000e+03
50% 6.250000e+03
75% 1.413825e+05
max 8.450550e+06
Name: sales, dtype: float64
Notez que chacune des valeurs de la sortie est affichée en utilisant la notation scientifique.
Nous pouvons utiliser la syntaxe suivante pour supprimer la notation scientifique dans la sortie :
#calculate descriptive statistics for sales column and suppress scientific notation
df['sales'].describe().apply(lambda x: format(x, 'f'))
count 8.000000
mean 1116747.500000
std 2966551.594104
min 2000.000000
25% 5050.000000
50% 6250.000000
75% 141382.500000
max 8450550.000000
Name: sales, dtype: object
Notez que les valeurs dans la sortie sont désormais affichées sans notation scientifique.
Exemple 2 : supprimer la notation scientifique lors de l’utilisation describe() avec plusieurs colonnes
Si nous utilisons la fonction décrire() pour calculer des statistiques descriptives pour chaque colonne numérique, les valeurs de la sortie seront affichées en notation scientifique :
#calculate descriptive statistics for each numeric column
df.describe()
sales returns
count 8.000000e+00 8.000000e+00
mean 1.116748e+06 2.954375e+05
std 2.966552e+06 7.761309e+05
min 2.000000e+03 3.000000e+02
25% 5.050000e+03 6.750000e+02
50% 6.250000e+03 1.000000e+03
75% 1.413825e+05 3.817500e+04
max 8.450550e+06 2.212200e+06
Notez que chacune des valeurs de la sortie est affichée en utilisant la notation scientifique.
Nous pouvons utiliser la syntaxe suivante pour supprimer la notation scientifique dans la sortie :
#calculate descriptive statistics for numeric columns and suppress scientific notation
df.describe().apply(lambda x: x.apply('{0:.5f}'.format))
sales returns
count 8.00000 8.00000
mean 1116747.50000 295437.50000
std 2966551.59410 776130.93692
min 2000.00000 300.00000
25% 5050.00000 675.00000
50% 6250.00000 1000.00000
75% 141382.50000 38175.00000
max 8450550.00000 2212200.00000
Notez que les valeurs dans la sortie sont désormais affichées sans notation scientifique.
Notez que dans cet exemple, nous avons utilisé 0:.5f pour afficher 5 décimales dans la sortie.
N’hésitez pas à remplacer le 5 par un nombre différent pour afficher un nombre de décimales différent.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : comment calculer la somme cumulée par groupe
Pandas : comment compter les valeurs uniques par groupe
Pandas : comment calculer la corrélation par groupe