Maison >développement back-end >Tutoriel Python >Comment puis-je modifier efficacement plusieurs types de données de colonnes dans Pandas ?

Comment puis-je modifier efficacement plusieurs types de données de colonnes dans Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 21:21:14974parcourir

How Can I Efficiently Change Multiple Column Data Types in Pandas?

Modification des types de colonnes dans Pandas pour plusieurs colonnes

Pour convertir plusieurs colonnes d'un DataFrame en types spécifiques, envisagez d'utiliser les méthodes suivantes :

Utiliser to_numeric()

de PandasCette méthode peut convertir en toute sécurité des types non numériques, tels que des chaînes, en entiers ou nombres à virgule flottante, selon le cas. Par exemple :

import pandas as pd

table = [
    ['a', '1.2', '4.2'],
    ['b', '70', '0.03'],
    ['x', '5', '0'],
]

df = pd.DataFrame(table)

# Convert columns 2 and 3 to floats
df[['Column2', 'Column3']] = df[['Column2', 'Column3']].apply(pd.to_numeric)

Utilisation de l'astype() de Pandas

Cette méthode permet une conversion explicite vers un type spécifié. Par exemple :

df[['Column2', 'Column3']] = df[['Column2', 'Column3']].astype(float)

Aperçu des méthodes de conversion

Le choix de la méthode dépend des exigences spécifiques et de la structure des données :

to_numeric() : Idéal pour une conversion fiable de valeurs non numériques en types numériques.

astype() : Conversion explicite et flexible vers n'importe quel type souhaité.

infer_objects() : Introduit dans pandas 0.21.0, spécifiquement pour convertir les colonnes d'objets en un type plus spécifique.

convert_dtypes() : partie de pandas version 1.0 et supérieure, convertit automatiquement les colonnes en Type "meilleur possible" qui prend en charge la valeur manquante NA des pandas.

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