2 votes

Comment est-il possible d'afficher un nombre différent de décimales dans une colonne en Python ?

J'essaie d'obtenir un nombre différent de décimales dans une colonne d'un dataframe pandas. J'ai arrondi les valeurs des colonnes concernées au bon nombre de décimales, mais la colonne entière affiche le nombre maximum de décimales.

Par exemple, j'ai ce cadre de données :

df = pd.DataFrame({'Column Name':[1005, 100.5, 10.05, 1.005]})

1005.000
100.500
10.050
1.005

Alors que je veux que ce soit comme :

1005
100.5
10.05
1.005

Comment cela est-il possible ?

2voto

AndyK Points 1677

Il suffit de fixer le dtype à object de sorte que l'entier 1005 reste entière (sinon toutes les valeurs sont automatiquement converties en float64) :

df = pd.DataFrame({'Column Name':[1005, 100.5, 10.05, 1.005]}, dtype='O')

df
Out[33]: 
  Column Name
0        1005
1       100.5
2       10.05
3       1.005

0voto

Valdi_Bo Points 5795

Une des solutions possibles :

df['Column Name'].astype(str).str.extract(r'(\d{4}|.{5})')

Notez que le groupe de capture dans le motif n'a pas de nom, de sorte que le résultat de l'opération a un nom == 0 . Si vous souhaitez que cette colonne porte un nom significatif, utilisez un nommée capturer le groupe à la place, par exemple :

df['Column Name'].astype(str).str.extract(r'(?P<Number>\d{4}|.{5})')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X