利用python进行数据分析-时间序列1

1.日期和时间数据类型及工具

结果为:

2016-07-14 22:03:47.969000
2016 7 14

datetime是以毫秒形式存储日期和时间。datetime.timedelta表示两个datetime对象之间的时间差

delta=datetime.datetime(2011,1,7)-datetime.datetime(2008,6,24,8,15)
print delta
print delta.days
print delta.seconds

结果为:

926 days, 15:45:00
926
56700

可以给datetime对象加上(或减去)一个或多个timedelta,这样回产生一个新对象

from datetime import timedelta

start=datetime.datetime(2011,1,7)
print start+timedelta(12)
print start-2*timedelta(12)

结果为:

2011-01-19 00:00:00
2010-12-14 00:00:00


2.字符串和datetime的相互转换

利用str或strftime方法(传入一个格式化字符串),datetime对象和pandas的Timestamp对象可以被格式化为字符串

stamp=datetime.datetime(2011,11,3)
print str(stamp)
print stamp.strftime('%Y-%m-%d')

结果为:

2011-11-03 00:00:00
2011-11-03

datetime.strptime也可以用这些格式化编码将字符串转换为日期

value='2011-01-03'
print datetime.datetime.strptime(value,'%Y-%m-%d')

datestrs=['7/6/2011','8/6/2011']
print [datetime.datetime.strptime(x,'%m/%d/%Y') for x in datestrs]

结果为:

2011-01-03 00:00:00
[datetime.datetime(2011, 7, 6, 0, 0), datetime.datetime(2011, 8, 6, 0, 0)]

datetime.strptime是已知格式进行日期解析最佳方式。但是每次都要编写格式定义是很麻烦的事情,尤其是对于一些常见的日期格式。此时,你可以用dateutil这个第三方包中的parser.parse方法

from dateutil.parser import parse

print parse('2011-01-03')

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值