楼主: konkuk2010
166 3

[源码分享] 时间序列里面如何把字符型数据转换为数值型 [分享]

  • 0关注
  • 2粉丝

本科生

19%

还不是VIP/贵宾

-

威望
0
论坛币
2868 个
通用积分
2.1450
学术水平
6 点
热心指数
8 点
信用等级
3 点
经验
706 点
帖子
8
精华
0
在线时间
142 小时
注册时间
2014-8-11
最后登录
2019-10-17

konkuk2010 在职认证  发表于 2019-9-3 15:59:59 |显示全部楼层
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))
但是试了很多遍,还是字符型的数据,没有转换成数值型,   哪位大神能帮小弟忙啊,不胜感谢。

关键词:字符型数据 时间序列 数据转换 数值型 字符型
stata SPSS
fengxingliulizi 发表于 2019-9-4 08:32:09 |显示全部楼层
df['close'] = df['close'].apply(lambda x:float(x))
回复

使用道具 举报

proneer 发表于 2019-9-4 19:17:42 |显示全部楼层
data.close=string.atoi(close)
回复

使用道具 举报

lijianguo531 发表于 2019-9-17 20:02:55 |显示全部楼层
有能解决的么?我也遇到这个问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-10-20 22:47