Python+pandas处理时间、日期数据

我们在python对数据进行操作时,经常会选取某一时间段的数据进行分析。常用的两种用来选取某一时间段数据的函数:datetime()和pd.to_datetime()。

1、 datetime()

datetime是Python处理日期和时间的标准库。

(1)获取当前的时间和日期。

格式:datetime.now()

我们先看如何获取当前日期和时间:

>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)
2018-05-22 19:36:21.622487
>>> print(type(now))
<class 'datetime.datetime'>

datetime.now()返回当前日期和时间,其类型是datetime。

(2)获取指定的时间和日期。

格式:datetime(%Y,%m,%d,%H,%M,%S)

>>> from datetime import datetime
>>> dt = datetime(2018, 5, 22, 18, 20) # 用指定日期时间创建datetime
>>> print(dt)
2018-05-22 18:20:00

datetime共有6个参数,分别代表的是年月日时分秒。其中年月日是必须要传入的参数,时分秒可以不传入,默认全为零。

(3)将Str和Unicode转化为时间格式

格式:datetime.strptime( str , format )

在很多情况下,我们的原始数据中的时间和日期并不是时间类型的,而是一个日期和时间的格式化字符串,例如excel中可能是Unicode,csv中可能是Str。因此我们在进行时间切片之前首先要将非时间类型的时间数据转换为时间类型。

>>> from datetime import datetime
>>> cday = datetime.strptime('2018-5-22 19:00:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2018-05-22 19:00:59

注意转换后的datetime是没有时区信息的。

PS:注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。如果仅导入import datetime,则必须引用全名datetime.datetime。

2、pd.to_datetime()

pandas中的to_datetime( )有和datetime( )类似的功能。

(1)获取指定的时间和日期。

格式:pd.to_datetime(%Y%m%d %H:%M:%S)

>>> import pandas as pd
>>> pd.to_datetime('2018/5/22 19:22:22',format='%Y%m%d %H:%M:%S')   # 用指定日期时间创建datetime
Timestamp('2018-05-22 19:22:22')

(2)将Str和Unicode转化为时间格式

>>> import pandas as pd
>>> pd.to_datetime(u'2018/5/22 19:00:59',format= '%Y-%m-%d')
Timestamp('2018-05-22 19:00:59')

参考资料:

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431937554888869fb52b812243dda6103214cd61d0c2000/

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值