serie example create string int pandas

string - create - pandas to html example



Conversión de una columna dentro del marco de datos pandas de int a cadena (3)

Cambiar el tipo de datos de la columna DataFrame:

A int:

df.column_name = df.column_name.astype(np.int64)

Para str:

df.column_name = df.column_name.astype(str)

Estoy empezando a trabajar con pandas. Tengo un marco de datos en pandas con columnas mixtas de datos int y str. Quiero concatenar las primeras columnas dentro del marco de datos, para hacer eso tengo que convertir la columna int en str . Intenté hacer eso así:

mtrx[''X.3''] = mtrx.to_string(columns = [''X.3''])

o así

mtrx[''X.3''] = mtrx[''X.3''].astype(str)

pero en ambos casos no funciona y recibo un error que dice "no puedo concatenar ''str'' y ''int'' objects". Concat para columnas de dos str está funcionando perfectamente bien.

¡Cualquier ayuda sería muy apreciada! ¡Gracias!


Advertencia : las dos soluciones proporcionadas ( astype () y apply () ) no conservan los valores NULL en las formas nan o None.

import pandas as pd import numpy as np df = pd.DataFrame([None,''string'',np.nan,42], index=[0,1,2,3], columns=[''A'']) df1 = df[''A''].astype(str) df2 = df[''A''].apply(str) print df.isnull() print df1.isnull() print df2.isnull()

Creo que esto se soluciona mediante la implementación de to_string()


In [16]: df = DataFrame(np.arange(10).reshape(5,2),columns=list(''AB'')) In [17]: df Out[17]: A B 0 0 1 1 2 3 2 4 5 3 6 7 4 8 9 In [18]: df.dtypes Out[18]: A int64 B int64 dtype: object

Convertir una serie

In [19]: df[''A''].apply(str) Out[19]: 0 0 1 2 2 4 3 6 4 8 Name: A, dtype: object In [20]: df[''A''].apply(str)[0] Out[20]: ''0''

Convierte todo el marco

In [21]: df.applymap(str) Out[21]: A B 0 0 1 1 2 3 2 4 5 3 6 7 4 8 9 In [22]: df.applymap(str).iloc[0,0] Out[22]: ''0''