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

在xlwings中实现高精度cumsum自定义函数(UDF)的技术咨询

xlwings 高精度累加和(cumsum)自定义函数问题

我需要在xlwings中实现一个计算累加和(cumsum)的自定义函数(UDF):

  • 现有基于pandas的xl_Correl_1函数可正常运行,但仅支持float数据类型
  • 需要处理的高精度数值如下:
    • 1.41421356237309504880168872421
    • 1.41421356237309504880168872421
    • 2.82842712474619009760337744842
    • 4.24264068711928514640506617263

为实现高精度计算,我尝试用decimal库编写了xl_Correl_2函数,但不确定写法是否正确,希望得到专业反馈。

现有代码

原float类型支持的函数

import pandas as pd
@xw.func
@xw.arg('x', pd.DataFrame, index=False, header=False)
@xw.ret(index=False, header=False)    
def xl_Correl_1(x):
    return x.cumsum()

尝试的高精度函数

import decimal
from decimal import Decimal
decimal.getcontext().prec = 30

@xw.func
@xw.arg('x', pd.DataFrame.apply(Decimal), index=False, header=False)
@xw.ret(index=False, header=False)    
def xl_Correl_2(x):
    return str(x.cumsum())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:35:49