Este team de especialistas luego de algunos días de trabajo y recopilación de de información, encontramos la respuesta, queremos que resulte de utilidad para tu proyecto.
Solución:
Estás muy cerca. Aplicó la ronda a la serie de valores dada por df.value1
. El tipo de devolución es, por lo tanto, una serie. Debe volver a asignar esa serie al marco de datos (u otro marco de datos con el mismo índice).
También, hay un pandas.Series.round
método que es básicamente una forma abreviada de pandas.Series.apply(np.round)
.
In[2]:
df.value1 = df.value1.round()
print df
Out[2]:
item value1 value2
0 a 1 1.3
1 a 2 2.5
2 a 0 0.0
3 b 3 -1.0
4 b 5 -1.0
Por alguna razón, el método round() no funciona si tiene números flotantes con muchos lugares decimales, pero esto funcionará.
decimals = 2
df['column'] = df['column'].apply(lambda x: round(x, decimals))
Usa el método pandas.DataFrame.round() así:
df = df.round('value1': 0)
Las columnas no incluidas se dejarán como están.
Si crees que ha resultado provechoso nuestro post, nos gustaría que lo compartas con el resto entusiastas de la programación de este modo contrubuyes a difundir nuestro contenido.