1. 获取当前时刻的时间
获取当前时刻的时间就是获取此时此刻与时间相关的数据,除了具体的年、月、日、时、分、秒,还会单独看年、月、周、日等指标。
from datetime import datetime as dt
- 当前的时间 :
dt.now()
- 当前的年月日:
dt.now().year/month/day
- 当前时刻是周几(周一是从0开始的):
dt.now.weekeday()+1
- 当前时刻的周数(这一年的第几周、周几):
dt.now.isocalendar()
2. 指定日期和时间的格式
3. 字符串和时间格式相互转换
4. 时间索引
4.1 时间为索引
时间索引就是根据时间来对时间格式的字段进行数据选取的一种索引方式。
当索引是时间的情况下:可以采用下面的方法选取时间
index=pd.DatetimeIndex(['2018-02-02','2019-01-03','2019-02-04'])
data=pd.DataFrame(np.arange(1,4),columns=['num'],index=index)
# num
#2018-02-02 1
#2019-01-03 2
#2019-02-04 3
获取某一段时间内的值,或者某一时间对应的值。
#选取2019年的数据或者选取时间段内的数据
data['2019']/data['2019-01-01':'2019-03-01']
# num
#2019-01-03 2
#2019-02-04 3
#选取2019年的1月的数据
data['2019-01']
# num
#2019-01-03 2
4.2 时间为普通列
当索引是不是时间的情况下:可以采用下面的方法选取时间 from datetime import datetime
5. 时间运算
5.1 两个时间的差
在python中两个时间做差会返回一个timedelta对象,该对象中包含天数、秒、微妙三个等级,如果要获取小时、分钟,则需要进行换算。
5.2 时间偏移
时间偏移是指时间往前或往后推一段时间,即加减一段时间,有以下两种方法:
- 借助timedelta,但它只能偏移天、秒、微妙单位的时间
- Pandas中的日趋偏移量(date offset)
例1:使用timedelta,只支持上面三种单位,如果想算其他,必须换成三种之一。
例2:使用pandas-offset可以实现天、小时、分钟单位的时间的偏移,不需要换算,相比timedelta方便些。