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

咨询:DataFrame两列相减时能否用round(2)?最优取整方法是什么

Pandas DataFrame列相减后保留两位小数的最佳方式

当然可以用round(2)来处理相减结果,下面是几种最常用的实现方式:

  • 直接链式调用(最直观)
    给相减的结果套上括号,确保先执行减法再取整(避免运算符优先级问题):

    DF['D'] = (DF['A'] - DF['B']).round(2)
    
  • 使用assign方法(适合链式操作)
    如果习惯用链式语法处理DataFrame,不想直接修改原列,可以用assign:

    DF = DF.assign(D=lambda x: (x['A'] - x['B']).round(2))
    
  • numpy.round替代(效果一致)
    Pandas的round底层调用的是numpy的实现,直接用np.round也能得到相同结果:

    import numpy as np
    DF['D'] = np.round(DF['A'] - DF['B'], 2)
    

额外提示

如果只是需要显示时保留两位小数,不想修改数据本身的精度,可以用样式格式化:

display(DF.style.format({'D': '{:.2f}'}))

这种方式不会改变D列的实际数值,只是在展示时格式化输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:05:32