wale

wale 查看完整档案

杭州编辑浙江大学  |  计算机 编辑  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

wale 回答了问题 · 9月25日

python 订阅接口中的filter应该如何设置

可以用np.array(['000905'])这样的方式,例如:


def handler(lst): 
    print(lst)

s.subscribe("192.168.1.103",8921,handler,"trades","action",0,False,np.array(['000905']))

关注 2 回答 1

wale 回答了问题 · 9月24日

0.00085显示为0.0008,精度丢失?

请打开菜单项File->Preferences,在弹出窗口中修改Default number of decimal place配置项,如下图所示:

image.png

关注 2 回答 1

wale 回答了问题 · 9月22日

插件连接mysql时提示 Plugin caching_sha2_password could not be loaded

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

解决步骤如下:

(1)管理员权限运行命令提示符,登录MySQL

mysql -u root -p

 

 

(2)修改账户密码加密规则并更新用户密码

   ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;  
   ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';    

(3)刷新权限并重置密码

FLUSH PRIVILEGES;   #刷新权限 

上面两步对应的截图

单独重置密码命令:alter user 'root'@'localhost' identified by '111111';

现在再次用插件连接MySQL数据库就会发现可以连接成功了

关注 2 回答 1

wale 回答了问题 · 9月22日

DolphinDB流数据表订阅后写入历史库,为啥少了很多记录呢

db2 = database("",RANGE,`AAPL`BABA`C`IBM)

RANGE(start, stop)包括start,不包括stop。因此上述RANGE分区没有包括IBM,所以IBM的数据就写入不了分布式数据库。建议修改为VALUE分区:

db2 = database("",VALUE,`AAPL`BABA`C`IBM)

关注 2 回答 1

wale 回答了问题 · 9月20日

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

将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

关注 3 回答 2

wale 回答了问题 · 9月19日

解决DolphinDB,如何更好的对内存表进行深复制?

我试了一下以下代码

data=table(1..3 as id,4..6 as value)
new_data=data.copy()
update new_data set value=value+1
update data set value=value+2

new_data从data拷贝后,对data或new_data操作,都互不影响对方。你要的深复制是什么样的?

关注 2 回答 1

wale 回答了问题 · 9月19日

VectorSP::getDoubleBuffer返回的buf在delete后有问题

在dolphindb中,Vector有两种存储模式,一种是FastVector模式,数据存储在连续的内存块中;另一种是Big array模式,数据分段存储在多个不连续的内存中。一般而言,当Vector的大小超过1048576时,Vector会切换到Big array模式。

getDoubleBuffer方法一般情况下会直接返回内部地址,只有在区间[start, start + len)跨越Big array的内存交界处时,才会将数据拷贝至用户传入的buffer。而setDouble方法会判断传入的buffer地址是否为内部存储的地址,如果是则直接返回,否则进行内存拷贝。

因此,上面代码中delete getDoubleBuffer返回的buffer,就可能破坏Vector内部的存储。因此推荐的用法是:

// 获取buffer后批量更新
double buf[1024];
double* p = long_ret->getIntBuffer(0, 1024, buf);
// p[0] = ...
long_ret->setDouble(0, 1024, p);

关注 2 回答 1

wale 回答了问题 · 9月15日

有啥办法把EG1、 EG2、 EG3 这些字段,都合并到一个EG字段

t=table(1 as id,1.0 as EG1,2.0 as EG2,3.0 as EG3)
t1=select id,EG1 as EG from t
t2=select id,EG2 as EG from t
t3=select id,EG3 as EG from t
unionAll([t1,t2,t3],false)

关注 2 回答 1

wale 回答了问题 · 9月15日

Object without ownership could not be modified

tuple中的元素不能修改。

关注 2 回答 1

wale 回答了问题 · 9月15日

怎么split1列成3列


def splitContent(msg){
    size=msg.size()
    result1=array(STRING,size,size)
    result2=array(STRING,size,size)
    result3=array(STRING,size,size)
    for(i in 0:size){
        m=split(msg[i],";")
        result1[i]=m[0]
        result2[i]=m[1]
        result3[i]=m[2]

    }
    return [result1,result2,result3]
}

select splitContent(ContentInfo) as `c1`c2`c3 from t

关注 2 回答 1

认证与成就

  • 获得 149 次点赞
  • 获得 12 枚徽章 获得 1 枚金徽章, 获得 1 枚银徽章, 获得 10 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 4月4日
个人主页被 421 人浏览