web-dev-qa-db-fra.com

Convertir plusieurs colonnes en chaîne dans pandas dataframe

J'ai une trame de données pandas avec différents types de données. Je veux convertir plus d'une colonne de la trame de données en type de chaîne. J'ai fait individuellement pour chaque colonne mais je veux savoir s'il y a un moyen efficace?

Donc actuellement je fais quelque chose comme ça:

repair['SCENARIO']=repair['SCENARIO'].astype(str)

repair['SERVICE_TYPE']= repair['SERVICE_TYPE'].astype(str)

Je veux une fonction qui m'aiderait à passer plusieurs colonnes et à les convertir en chaînes.

6
Sayonti

Pour convertir plusieurs colonnes en chaîne, incluez une liste de colonnes à votre commande mentionnée ci-dessus:

df[['one', 'two', 'three']] = df[['one', 'two', 'three']].astype(str)
# add as many column names as you like.

Cela signifie que un moyen de convertir toutes les colonnes est de construire la liste des colonnes comme ceci:

all_columns = list(df) # Creates list of all column headers
df[all_columns] = df[all_columns].astype(str)

A noter que cette dernière peut également se faire directement (voir commentaires).

15
sudonym