You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对Pandas DataFrame的首行所有数值执行四舍五入操作

你之前的代码出错,是因为df.iloc[0]返回的是索引为原DataFrame列标签的Series,df.update()默认按索引对齐匹配,会将该Series的索引和原DataFrame的行索引对应,所以才会出现替换第一列而非首行的问题。

解决方案

方案1:直接赋值(最简便)

直接对首行位置赋值四舍五入后的结果即可,适配你无表头的DataFrame结构:

df.iloc[0] = df.iloc[0].round()

如果需要保留原数据不被修改,可以先拷贝再操作:

new_df = df.copy()
new_df.iloc[0] = new_df.iloc[0].round()

方案2:适配update方法的写法

如果你需要沿用update方法实现,需要把提取的首行Series转置为单行DataFrame,保证索引对齐逻辑正确:

new = df.iloc[0].round().to_frame().T
df.update(new)

内容的提问来源于stack exchange,提问作者user14875201

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:24:05