Julia学习笔记:数组定义时元素类型未定所挖的“坑”

本文记录了作者在学习Julia时遇到的一个问题:在创建TimeArray时因数组元素类型未定导致的错误。通过分析,发现由于在定义数组时未指定类型,使得数组元素类型为Any,而非所需的TimeType子类型。通过指定数组类型为Date解决了问题,提醒读者在使用Julia时要注意类型声明。
摘要由CSDN通过智能技术生成

本文所谈问题,可能是个人对Julia学习、理解不够深入透彻所致,仅供参考。

在学习尝试Julia的时间序列操作时,遇到问题。

本以为生成时间序列很简单,有了时间及对应的数据,然后按Julia时间序列文档的介绍,生成TimeArray即可,然后再进行其余分析或操作。

谁知,生成TimeArray时,竟然掉进一个“坑”,差点爬不出来。

先是定义了两个空数组(date_list和value_list),分别用来储存日期和对应的数据值。然后将一些日期和相应数据按顺序分别push!进入两个数组。再以这两个数组为参数,使用TimeArray构造函数尝试生成TimeArray实例。

谁知,TimeArray实例总是无法生成,提示参数类型错误。

开始以为是数组构造有问题,于是用typeof来查日期数组的元素类型,结果没有问题,元素是TimeType子类型。然后再@doc查TimeArray构造函数,又到Julia的TimeSeries主页查文档。可是,怎么也没找到错误在哪里。

于是,尝试使用文档中给出的例子,将参数一步一步替换为自己的数据,直到出现错误。错误提示如前,参数类型不对,但自己一直没有明白到底哪里不对。

再试着不使用整个数组,而是数组的部分切片,仍然提示参数类型不对。

只好采用另外一个笨办法,将自己数据的两个数组中的元素,逐个(当然不是全部,每个数组只使用前两、三个元素)列出,以这样的元素列表(如[date_list[1],date_list[2],date_list[3]])作为TimeArray构造函数的参数ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值