如何修改DataFrame中单个浮点数值为两位小数?
解决DataFrame指定位置数值修改问题
你的代码没生效是因为用了比较运算符==——这只是在判断两个值是否相等,根本没给DataFrame赋值。要改数据得用赋值运算符=。另外直接用df_final['CL_total'].iloc[0]赋值可能触发警告,更稳妥的是用.loc索引器定位修改。
正确代码:
# 推荐用.loc定位行和列修改 df_final.loc[0, 'CL_total'] = df_final.loc[0, 'CL_total'].round(2) # 也可以用iloc(如果确认操作的是原DataFrame而非切片副本) # df_final['CL_total'].iloc[0] = df_final['CL_total'].iloc[0].round(2) # 查看修改后的前6行 print(df_final.iloc[:6])
说明:
round(2)会把157.580处理成157.58,满足你保留两位小数的需求- 用
.loc[行索引, 列名]是pandas修改数据的标准写法,能避免副本/原数据混淆的问题
内容的提问来源于stack exchange,提问作者Isabelle De Melo van Houten
相关产品推荐
相关产品推荐

