时间序列数据分析学习-01

一、日期和时间数据类型

1.datetime构造

类型使用说明
date日期(年、月、日)
time时间(时、分、秒、毫秒)
datetime日期和时间
timedelta两个datetime的差(日、秒、毫秒)
tzinfo用于存储时区信息的基本类型
(1)date类型数据的创建
import datetime
date=datetime.date(2021,9,10)
print(date)   #2021-09-10
print(date.year,date.month,date.day)   #2021 9 10
(2)time类型数据的用法
time=datetime.time(10,20,15)
print(time)   #10:20:15
print(time.hour,time.minute,time.second)  #10 20 15
(3)使用now函数查看当前时间
now=datetime.datetime.now()
print(now)
(4)timedelta类数据应用

可以通过给datetime类对象加或减去类对象,以此获得新的datetime对象

now=datetime.datetime(2021,9,10)
birth=datetime.datetime(2020,9,10)
delta=now-birth
print(delta)
newdatetime=birth+datetime.timedelta(120)
print(newdatetime)

2.数据转换

通过str方法可以直接将datetime类数据转换为字符串数据

(1)将datetime类数据转换为字符串数据
from datetime import datetime
stamp=datetime(2021,9,10)
print(str(stamp))   #2021-09-10 00:00:00
(2)使用strftime方法转换datetime类型数据

将datetime类数据转换为特定格式的字符串数据,需要使用strftime方法

类型描述
%Y四位的年份
%y两位的年份
%m两位的月份[01,……,12]
%d两位的日期[01,……,31]
%H小时,24小时制[00,……,24]
%I小时,12小时制[01,……,12]
%M两位的分钟[00,……,59]
%S两位的秒
%W每年的第几周,星期一为每周第一天
%F%Y-%m-%d的简写
%D%m/%d/%y的简写
stamp.strftime('%Y/%m/%d')
(3)将字符串转为日期类型

使用datetime.strptime和格式码将字符串转为日期

day='2021-9-11'
print(datetime.strptime('2021-9-11','%Y-%m-%d'))
datestrs=['9/10/2021','9/9/2021']
[datetime.strptime(x,'%m/%d/%Y') for x in datestrs]

其实也可以在pandas中通过to_datetime方法快速将一列字符串数据转换为datetime数据。

二、时间序列基础

pandas中的基础时间序列种类是由时间戳索引的series,在pandas外部则表示为python字符串或datetime对象。

1.时间序列构造

(1)时间序列构造
import pandas as pd
import numpy as np
date=[datetime(2021,9,11),datetime(2021,9,21),datetime(2021,9,1),datetime(2021,8,11)]
s=pd.Series(np.arange(4),index=date)
print(s)

输出:
2021-09-11 0
2021-09-21 1
2021-09-01 2
2021-08-11 3
dtype: int32

(2)显示时间序列的索引

创建时间序列Series的索引为DatetimeIndex对象
在这里插入图片描述

(3)时间序列索引对齐

在这里插入图片描述

2.索引与切片

(1)时间序列的索引

在这里插入图片描述

(2)时间序列的切片

在这里插入图片描述

(3)使用索引获取时间序列的切片
s['2021-09-11':'2021-09-01']
(4)使用获取时间序列的切片
s['2019']
#输出2019年的
(5)使用年和月获取时间序列的切片
s['2019-09']
(6)查询重复时间序列

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值