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)