python表格浮点转日期_将浮点数组转换为datetim

我正在努力将浮点数组(带小数点的数字)转换为datetime。我得到的是一个巨大的数组,其中包含非整数(比如用microsoftexcel生成的那些),表示某个日期之后的几天。

如果我只对一个浮点数,比如28.79167,从2014年1月1日开始计算,我会按如下方式进行:date = datetime(2014,01,01) + timedelta(days=28.79167)

print date

Out[142]: datetime.datetime(2014, 1, 29, 19, 0, 0, 288000)

看起来是对的!

但是,当我有一个数组时,请说下面这个:

^{pr2}$

然后我会这样做:date = [datetime(2014,01,01) + timedelta(days=dcc[i]) for i in dcc]

它给出了:/usr/bin/ipython:1: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future #! /usr/bin/python

print date

Out[138]:

[datetime.datetime(2014, 1, 1, 0, 0),

datetime.datetime(2014, 1, 1, 0, 0),

datetime.datetime(2014, 1, 1, 12, 0),

datetime.datetime(2014, 1, 1, 12, 0),

datetime.datetime(2014, 1, 2, 0, 0),

datetime.datetime(2014, 1, 2, 0, 0),

datetime.datetime(2014, 1, 2, 12, 0),

datetime.datetime(2014, 1, 2, 12, 0),

datetime.datetime(2014, 1, 3, 0, 0),

datetime.datetime(2014, 1, 3, 0, 0),

datetime.datetime(2014, 1, 3, 12, 0),

datetime.datetime(2014, 1, 3, 12, 0),

datetime.datetime(2014, 1, 4, 0, 0),

datetime.datetime(2014, 1, 4, 0, 0),

datetime.datetime(2014, 1, 4, 12, 0),

datetime.datetime(2014, 1, 4, 12, 0),

datetime.datetime(2014, 1, 5, 0, 0),

datetime.datetime(2014, 1, 5, 0, 0),

datetime.datetime(2014, 1, 5, 12, 0),

datetime.datetime(2014, 1, 5, 12, 0)]

这显然不是我想要的。

另一种获取整数的方法是简单地将日期转换为秒,然后像以前一样使用timedelta,但是看看会发生什么:date = [datetime(2014,01,01) + timedelta(seconds=dcc[i]*86400) for i in dcc*86400]

注意在timedelta now中使用了“seconds”而不是“days”。结果如下:IndexError: index 43200 is out of bounds for axis 0 with size 20

我试过很多次网络搜索,但要么没有人提出同样的问题,要么我在某个地方犯了一个巨大的错误。。。在

有人能帮忙吗?提前谢谢!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值