【发布时间】:2021-07-19 13:18:27
【问题描述】:
我正在尝试做与 Python 的 np.clip 等效的 KDB Q,因此返回范围 -1 < x < 1 中的浮点数,并且此范围之外的数字分别返回 -1 和 1。
【问题讨论】:
标签: kdb
我正在尝试做与 Python 的 np.clip 等效的 KDB Q,因此返回范围 -1 < x < 1 中的浮点数,并且此范围之外的数字分别返回 -1 和 1。
【问题讨论】:
标签: kdb
这是另一个,只是为了添加到列表中
q)clip: {-1 | 1 & 0f ^ x}
q)clip -2 -1 -0.5 0 0.5 1 2 0N 0n
-1 -1 -0.5 0 0.5 1 1 0 0
【讨论】:
功能:
clip:{[b1;b2;x] ?[null x;abs[type x]$0n;b1|x&b2]}
应该是你要找的功能。
所以你现在只需要申请
clip[-1;1;]
到您想要的任何列表。
【讨论】:
您可以很容易地使用嵌套的vector conditional 自己定义它:
q)clip:{?[x<-1;-1;?[x>1;1;x]]}
q)l:(neg 2) + 10?4.0
q)l
0.4812058 1.730526 -0.9011735 -1.769899 -0.9757369 -1.075957 -1.651039 -1.590227 1.468439 0.911411
q)clip l
0.4812058 1 -0.9011735 -1 -0.9757369 -1 -1 -1 1 0.911411
【讨论】: