全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
3604 11
2019-09-03
悬赏 30 个论坛币 未解决
最近在学习使用时间序列分析交易数据,从网上下载了上证的收盘指数:
'data.frame':        4512 obs. of  2 variables:
$ DATETIME: Date, format: "2001-02-05" "2001-02-06" "2001-02-07" ...
$ CLOSE   : num  2008 1995 1980 1930 1957 ...


然后用xts把他变成时间序列        SH_XTS<-xts(SH,order.by = as.Date(SH[,1])),然后用str命令查看属性,

An ‘xts’ object on 2001-02-05/2019-08-30 containing:
  Data: chr [1:4512, 1:2] "2001-02-05" "2001-02-06" "2001-02-07" "2001-02-08" "2001-02-09" ...
- attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:2] "DATETIME" "CLOSE"
  Indexed by objects of class: [Date] TZ: UTC
  xts Attributes:  
NULL

发现 close数据变成了字符型

           DATETIME     CLOSE     
2001-02-05 "2001-02-05" "2008.032"
2001-02-06 "2001-02-06" "1995.315"
2001-02-07 "2001-02-07" "1979.939"
2001-02-08 "2001-02-08" "1930.138"
2001-02-09 "2001-02-09" "1956.970"
2001-02-12 "2001-02-12" "1961.221"



然后用 as.numeric()命令强制进行转换,SH_XTS$Data.CLOSE<-as.numeric(as.character(SH_XTS$Data.CLOSE))
但是试了很多遍,还是字符型的数据,没有转换成数值型,   哪位大神能帮小弟忙啊,不胜感谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-9-4 08:32:09
df['close'] = df['close'].apply(lambda x:float(x))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-9-4 19:17:42
data.close=string.atoi(close)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-9-17 20:02:55
有能解决的么?我也遇到这个问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-20 16:55:00
已经解决了吗?我也遇到这个问题,跪求解决方法
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-21 09:36:55
经过试验,我已经发现原因,如果转之前的数据框里包含日期变量,如2019-11-21,转成xts之后就会变成字符类型
解决方法是先将日期变量单独提取出来设为date_1,并将原数据框里日期变量删掉,
然后再转成xts
newdata<-xts(data,date)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群