una renombrar nombre name datos data columns columnas columna change cambiar agregar python pandas series

nombre - renombrar columnas en python



Pandas: cambia el tipo de datos de Series a String (2)

Puede convertir todos los elementos de id a str con apply

df.id.apply(str) 0 123 1 512 2 zhub1 3 12354.3 4 129 5 753 6 295 7 610

Editar por OP:

Creo que el problema estaba relacionado con la versión de Python (2.7), esto funcionó:

df[''id''].astype(basestring) 0 123 1 512 2 zhub1 3 12354.3 4 129 5 753 6 295 7 610 Name: id, dtype: object

Utilizo Pandas ''ver 0.12.0'' con Python 2.7 y tengo un marco de datos como el siguiente:

df = pd.DataFrame({''id'' : [123,512,''zhub1'', 12354.3, 129, 753, 295, 610], ''colour'': [''black'', ''white'',''white'',''white'', ''black'', ''black'', ''white'', ''white''], ''shape'': [''round'', ''triangular'', ''triangular'',''triangular'',''square'', ''triangular'',''round'',''triangular''] }, columns= [''id'',''colour'', ''shape''])

La serie id consta de algunos enteros y cadenas. Su dtype por defecto es object . Quiero convertir todo el contenido de id a cadenas. Intenté astype(str) , que produce el resultado a continuación.

df[''id''].astype(str) 0 1 1 5 2 z 3 1 4 1 5 7 6 2 7 6

1) ¿Cómo puedo convertir todos los elementos de id a String?

2) Eventualmente usaré id para indizar marcos de datos. ¿Tener índices de cadenas en un marco de datos reduciría la velocidad, en comparación con tener un índice entero?


Debes asignarlo, así:

df[''id'']= df[''id''].astype(str)