Pandas convertit la colonne en int

Pandas convertit la colonne en int
Pandas est une bibliothèque Python libre et open source qui fournit des structures de données rapides, flexibles et expressives qui facilitent le travail avec les données scientifiques.

Pandas est l'un des packages d'analyse et de manipulation les plus précieux de Python.

Il propose des fonctionnalités telles que des structures de données personnalisées construites au-dessus de Python.

Cet article discutera de la conversion d'une colonne d'un type de données en un type int dans un pandas dataframe.

Configuration des pandas

Avant de plonger dans la façon d'effectuer l'opération de conversion, nous devons configurer des pandas dans notre environnement Python.

Si vous utilisez l'environnement de base dans l'interprète Anaconda, il y a de fortes chances que vous ayez installé des pandas.

Cependant, sur une installation python native, vous devrez l'installer manuellement.

Vous pouvez le faire en exécutant la commande:

$ pip install pandas

Sur Linux, courez

$ sudo pip3 installer pandas

Dans les environnements anaconda ou miniconda, installez des pandas avec conda.

$ Conda Installer Pandas
$ sudo conda installer des pandas

Les pandas créent un exemple de dataframe

Confirons un exemple de dataframe à des fins d'illustration dans ce tutoriel. Vous pouvez copier le code ci-dessous ou utiliser votre dataframe.

Importer des pandas en tant que PD
df = pd.DataFrame ('id': ['1', '2', '3', '4', '5'],
«Nom»: [«Marja Jérôme», «Alexios Shiva», «Mohan Famke», «Lovrenco Illaar», «Steffen Angus»],
'Points': ['50000', '70899', '70000', '81000', '110000'])

Une fois le dataframe créé, nous pouvons vérifier les données.

Pandas afficher le type de colonne

Il est bon de savoir si le type existant peut être jeté en un INT avant de convertir une colonne d'un type en un INT.

Par exemple, tenter de convertir une colonne contenant des noms ne peut pas être converti en un int.

Nous pouvons afficher le type de dataframe à l'aide de la propriété DTYPES

Utilisez la syntaxe:

Trame de données.dtypes

Dans notre exemple de dataframe, nous pouvons obtenir les types de colonnes comme:

df.dtypes
objet ID
nom d'objet
points d'objet
dtype: objet

Nous pouvons voir sur la sortie ci-dessus qu'aucune des colonnes ne contiennent un type int.

Pandas convertit la colonne de String en int.

Pour convertir une seule colonne en un INT, nous utilisons la fonction ASTYPE () et passons le type de données cible comme paramètre.

La syntaxe de fonction:

Trame de données.astype (dtype, copy = true, errors = 'relance')
  1. DTYPE - Spécifie le type Python ou un Dtype Numpy auquel l'objet est converti.
  2. Copie - vous permet de retourner une copie de l'objet au lieu d'agir en place.
  3. Erreurs - Spécifie l'action en cas d'erreur. Par défaut, la fonction augmentera les erreurs.

Dans notre exemple de dataframe, nous pouvons convertir la colonne d'ID en type int à l'aide de la fonction ASTYPE () comme indiqué dans le code ci-dessous:

df ['id'] = df ['id'].Astype (int)

Le code ci-dessus spécifie la colonne «ID» comme objet cible. Nous passons ensuite un int en tant que type à la fonction Astype ().

Nous pouvons vérifier le nouveau type de données pour chaque colonne de DataFrame:

df.dtypes
id int32
nom d'objet
points d'objet
dtype: objet

La colonne ID a été convertie en un INT tandis que le reste reste inchangé.

Pandas convertit plusieurs colonnes en int

La fonction ASTYPE () nous permet de convertir plus d'une colonne et de les convertir en un type spécifique.

Par exemple, nous pouvons exécuter le code suivant pour convertir les colonnes ID et points en type int.

df [['id', 'Points']] = df [['id', 'Points']].Astype (int)

Ici, nous spécifions plusieurs colonnes en utilisant la notation du support carré. Cela nous permet de convertir les colonnes en type de données spécifié dans la fonction ASTYPE ().

Si nous vérifions le type de colonne, nous devrions voir une sortie:

df.dtypes
id int32
nom d'objet
points Int32
dtype: objet

Nous pouvons maintenant voir que la colonne ID et points a été convertie en type INT32.

Pandas convertit plusieurs colonnes en plusieurs types

La fonction ASTYPE () nous permet de spécifier une colonne et un type de cible en tant que dictionnaire.

Supposons que nous voulons convertir la colonne ID en int32 et la colonne de points en float64.

Nous pouvons exécuter le code suivant:

convert_to = "id": int, "points": float
df = df.astype (convert_to)

Dans le code ci-dessus, nous commençons par définir un dictionnaire détenant la colonne cible comme clé et le type cible comme valeur.

Nous utilisons ensuite la fonction ASTYPE () pour convertir les colonnes du dictionnaire en types.

La vérification des types de colonnes doit revenir:

df.dtypes
id int32
nom d'objet
points float64
dtype: objet

Notez que la colonne ID est INT32 et que la colonne de points est de type float32.

Pandas convertit colonne en int - to_numeric ()

Pandas nous fournit également la fonction to_numeric (). Cette fonction nous permet de convertir une colonne en un type numérique.

La syntaxe de fonction est comme indiqué:

pandas.to_numeric (arg, errors = 'relance', downcast = non)

Par exemple, pour convertir la colonne ID en numérique dans notre exemple de dataframe, nous pouvons exécuter:

df ['id'] = pd.to_numeric (df ['id'])

Le code doit prendre la colonne ID et le convertir en un type int.

Pandas convertit les données de données au meilleur type de données possible

La fonction convert_dtypes () en pandas nous permet de convertir une fragmentation entière de données au type possible le plus proche possible.

La syntaxe de fonction est comme indiqué:

Trame de données.convert_dtypes (infér_objects = true, convert_string = true,
convert_integer = true, convert_boolean = true, convert_floating = true)

Vous pouvez vérifier les documents dans la ressource ci-dessous:

https: // pandas.pydata.org / docs / référence / api / pandas.Trame de données.convert_dtypes.html

Par exemple, pour convertir notre exemple de données de données en type possible, nous pouvons s'exécuter:

df = df.convert_dtypes ()

Si nous vérifions le type:

df.dtypes
id int32
chaîne de noms
Points Int64
dtype: objet

Vous remarquerez que chaque colonne a été convertie en type approprié le plus proche. Par exemple, la fonction convertit les petits INTS en type INT32.

De même, la colonne des noms est convertie en type de chaîne car il conserve les valeurs de chaîne.

Enfin, comme la colonne de points contient des entiers plus grands, il est converti en un type INT64.

Conclusion

Dans cet article, nous avons donné des méthodes détaillées et des exemples de conversion d'un pandas dataframe d'un type à un autre.