La conversion d'une colonne à l'intérieur de pandas dataframe de int en string
J'ai un dataframe dans les pandas avec un mélange de int et str colonnes de données. Je veux concaténer d'abord les colonnes dans le dataframe. Pour ce faire, je dois convertir un int
colonne de str
.
J'ai essayé de faire comme suit:
mtrx['X.3'] = mtrx.to_string(columns = ['X.3'])
ou
mtrx['X.3'] = mtrx['X.3'].astype(str)
mais dans les deux cas, ça ne marche pas et j'obtiens un message d'erreur indiquant que "ne peut pas concaténer 'str' et de 'int' "objets". La concaténation de deux str
colonnes fonctionne parfaitement bien.
Vous devez vous connecter pour publier un commentaire.
Convertir une série
Ne pas oublier de donner le résultat:
Convertir l'ensemble du cadre
Modifier le type de données de DataFrame colonne:
Int:
df.column_name = df.column_name.astype(np.int64)
De str:
df.column_name = df.column_name.astype(str)
apply(str)
de @Jeff, dans mon test à l'aide depd.Series(np.arange(1000000))
.df['A'] = df['A'].apply(str)
fonctionne également. La réponse fournie par @Jeff ne fonctionne pas pour moi.apply()
au lieu deastype()
: timeit.Minuterie('c.appliquer(str), le programme d'installation='importer les pandas que le pd; c = pd.Série(range(1000))').timeit(1000) >>> 0.41499893204309046 >>> timeit.Minuterie('c.astype(str), le programme d'installation='importer les pandas que le pd; c = pd.Série(range(1000))').timeit(1000) 0.8004439630312845Avertissement: les Deux solutions étant donné ( astype() et apply() ) ne conservent pas les valeurs NULL dans le nan ou rien pour la forme.
Je crois que ce problème est résolu par la mise en œuvre de to_string()
Utiliser ceci:
df.column_name = df.column_name.astype('str')