对智谱清言有点失望

23次阅读

共计 581 个字符,预计需要花费 2 分钟才能阅读完成。

GLM-4
首先,它不知道“智谱清言”是什么,哈哈

“有一个 dataframe,index 为整数,已经排序,所有值均为浮点类型,求其中两列,假设名为 a,b,它们是否相交,a 上穿 b 为 1,a 下穿 b 为 -1,无相交为 0,返回一个 series,使用 Numba 加速”
这段话,chatgpt3.5 给我的是代码,智谱清言给我的是计算结果……结果,就是它自己生成了一个 datframe 并计算了,把结果回答给我,很晕

chatgpt3.5 虽然给我的代码是错的,但受它启发,写了个简单函数完成了,这个函数是向量化的

def is_cross(arr:np.ndarray, arr_ref:np.ndarray)->np.ndarray:
    '''
    求两个 array 是否有相交 n
    返回:一个 numpy arrayn
    其中 0 表示没有相交,1 表示 arr 上穿 arr_ref,-1 则表示下穿 n
    n
    原理:求两个 array 的差并获取符号数列,求取这个符号数列相邻的差,再次获取这个差值数列的符号为返回结果 n
    相邻符号如果相同差为 0,就是无相交;符号从 - 变 0/+,为上穿,差值为 +1/+2;符号从 + 变 0/-,为下穿,差值为 -1/-2n
    符号从 0 变为有符号,性质一样,结果也符合需求 n
    所以再次求取符号则为结果
    '''
    return np.sign(np.ediff1d(np.sign(arr-arr_ref), to_begin=0))
正文完
 0