有关lead(), lag(), 与PythonAPI如何显示脚本文件的执行时间问题?

我想对表中的一列进行上移操作,以填充表中使用moving或mavg留下的Nan值,例如,假设使用mavg(x, 3)后表如下(可能有些偏差):

xx_1
1nan
2nan
3nan
42
54.5
66

那么,我想做的是,将x_1列的值往上移三行,然后使用lead(x_1,3)时,这种用法是不允许的,所以想问问,这样的操作该如何实现?

还有一个问题是,我在使用Python调用DDB脚本文件时,想知道脚本文件中某些语句块的运行时间,在脚本中使用timer后一般该如何输出到Python呢?

回答

timer是个语句,输出的时间只能在GUI,Console中能看到,使用api是看不到的。如果你想查看某一段脚本的执行时间,并输出到python api,可以尝试使用evalTimer函数

evalTimer(funcs, [count=1])

参数funcs可以指定多个要执行的函数(0参数的函数),count指定重复次数。关于函数的具体使用可以参考在线帮助 https://www.dolphindb.cn/cn/h...

dolphindb中没有lead,lag函数,但是有对应的函数move。move(x_1, -3)能实现你的要求

将x_1列的值往上移2行的代码如下:

t=table(1..6 as x)

t1=select x,mavg(x,3) as x_1 from data

t2=select x,x_1,move(x_1,-2) as x_2 from t1

但这样上移后,最后2行还是有null值
image.png

你是不是想插值,可以看一下用户手册中的说明填充NULL值部分。

python中看运行时间可用evalTimer

以上是 有关lead(), lag(), 与PythonAPI如何显示脚本文件的执行时间问题? 的全部内容, 来源链接: utcz.com/a/44263.html

回到顶部