Comment convertir un flottant en un entier dans Pandas DataFrame

  1. astype(int) pour convertir le float en int dans Pandas
  2. Méthode to_numeric() pour convertir le float en int dans Pandas

Nous allons démontrer des méthodes pour convertir un flottant en un entier dans un Pandas DataFrame - astype(int) et to_numeric().

Tout d’abord, nous créons un tableau aléatoire en utilisant une bibliothèque numpy et ensuite nous le convertissons en Dataframe.

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(5, 5) * 5)
print(df)

Si vous exécutez ce code, vous obtiendrez la sortie suivante qui a des valeurs en float.

0 1 2 3 4
00.3024483.5519583.8786602.3803524.741592
14.0541870.9409520.4590584.3148010.524993
22.8917334.9268854.9557732.6263734.144166
31.1276393.1968234.1440201.3506320.401138
41.4235372.0194553.0389450.4366573.823888

astype(int) pour convertir le float en int dans Pandas

Pour convertir float en int, nous utiliserons la méthode astype(int) fournie par le paquet Pandas. Le code est ,

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(5, 5) * 5)
print('*********** Random Float DataFrame ************')
print(df)
print('***********************************************')
print('***********************************************')
print('*********** Dataframe Converted into INT ************')
print(df.astype(int))
print('***********************************************')
print('***********************************************')

Après avoir exécuté les codes ci-dessus, nous obtiendrons le résultat suivant.

*********** Random Float DataFrame ************
0 1 2 3 4
01.5106181.0945614.1574194.4241954.872719
10.4576804.0029592.6609991.6869160.840159
21.7817783.8129240.5618270.5323280.752800
31.4565142.7749552.7001184.5033544.749377
42.2235204.8592380.4509773.2284442.541648
***********************************************
***********************************************
*********** Dataframe Converted into INT ************
 01234
011444
104210
213000
312244
424032
***********************************************
***********************************************

Nous pouvons arrondir la valeur float à int en utilisant df.round(0).astype(int).

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(5, 5) * 5)
print('*********** Random Float DataFrame ************')
print(df)
print('***********************************************')
print('***********************************************')
print('*********** Dataframe Converted into INT ************')
print(df.astype(int))
print('***********************************************')
print('***********************************************')
print('*********** Rounding Float value to INT ************')
print(df.round(0).astype(int))
print('***********************************************')
print('***********************************************')

Après avoir exécuté le code, nous obtiendrons la sortie suivante.

*********** Random Float DataFrame ************
0 1 2 3 4
03.3944580.0712023.3132054.7858780.705612
11.9603530.8420851.2123320.8183432.637940
24.4078114.2390781.4190271.5263101.043394
33.6542164.6729721.7964393.1684260.734009
40.8487961.0240521.8593190.8443781.747628
***********************************************
***********************************************
*********** Dataframe Converted into INT ************
 01234
030340
110102
244111
334130
401101
***********************************************
***********************************************
*********** Rounding Float value to INT ************
 01234
030351
121113
244121
345231
411212
***********************************************
***********************************************

Méthode to_numeric() pour convertir le float en int dans Pandas

Cette méthode permet de convertir en toute sécurité des types non numériques (par exemple, des chaînes de caractères) en un type numérique approprié.

s = pd.Series(['1.0', '2', -3])
print(pd.to_numeric(s, downcast='integer'))

Après avoir exécuté le code, nous obtiendrons le résultat suivant.

01
12
2 -3
dtype: int8

Article connexe - Pandas DataFrame

  • Comment convertir l'index d'une Dataframe de Pandas en une colonne
  • Comment trier le DataFrame de Pandas par les valeurs d'une colonne
  • comments powered by Disqus