【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)

文章介绍了Python中处理日期和时间数据的方法,包括datetime模块的使用,如date和time类型,以及如何进行数据转换。接着,讨论了Pandas中的时间序列基础,如构造方法、索引操作和切片,强调了时间序列在算术运算中的自动对齐特性。
摘要由CSDN通过智能技术生成

需要源码请点赞关注收藏后评论区留言私信~~~

在很多行业,时间序列数据是一种重要的结构化数据类型,如金融、经济、生态学、神经科学和物理学等领域。在多个时间点观测或测量的数据形成了时间序列

一、日期和时间数据类型

1 datetime构造

  Python标准库中包含了用于日期(date)、时间(time)、日历(calendar)等功能的数据类型,主要会用到datetime、time、calendar模块,我们主要介绍一下datetime模块

表9-1 datetime库的时间数据类型为

date类型数据的创建

data类型的数据用于创建日期型数据,通过年月日进行存储

import datetime
date = datetime.date(2019,6,1)
print(date)
print(date.year,date.month,date.day)

 

time类型数据的用法

time类型的数据用于存储时间数据,通过时、分、秒、毫秒进行存储

 

time = datetime.time(10,20,15)
print(time)
print(time.hour,time.minute,time.second)

 Datetime类数据是date类和time类数据的组合,通过now函数可以查看当前的时间

timedelta类数据为两个datetime类数据的差,也可以通过给datetime类对象加或减去timedelta类对象,以此获得新的datetime对象

timedelta类数据应用

now = datetime.datetime.now()
birth = datetime.datetime(2016,5,1,18,30,25)
delta = now-birth
print(delta)

 2 数据转换

在数据分析中,字符串和datetime类数据需要进行转换,通过str方法可以直接将datetime类数据转换为字符串数据

1. datetime -> str:将datetime类数据转换为字符串数据。     str方法:    datetime.strftime  可以将datetime类数据转换为格式化字符串数据

2. str -> datetime :将字符串数据转换为datetime类数据。     datetime.strptime(…) 根据string, format 2个参数,返回一个对应的datetime对象

datetime格式说明

将datetime类数据转换为字符串数据

from datetime import datetime
stamp = datetime(2019,6,4)
print(str(stamp))

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

strftime方法转换datetime类型数据

stamp.strftime('%Y/%m/%d')

字符串转换为日期类型

w_value = '2019-6-23'
print(datetime.strptime('2019-06-23','%Y-%m-%d'))
datestrs = ['7/19/1976','8/1/1976']
[datetime.strptime(x,'%m/%d/%Y') for x in datestrs ]

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

二、时间序列基础

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

Pandas中的时间序列指的是以时间数据为索引的Series或DataFrame,构造方法即为Series的构造方法

时间序列的构造

import pandas as pd
import numpy as np
w_dates = [datetime(2018,5,15),datetime(2018,6,15),datetime(2019,5,18),datetime(2019,5,25)]
s = pd.Series(np.arange(4),index = w_dates)
print(s)

和其他Series类似,不同索引的时间序列之间的算术运算在日期上会自动对齐

时间序列的索引方法和pandas基础数据类型的用法是一样的

print(s)
print(s[2])

 时间序列的切片

s[:2]

利用索引进行时间序列的切片

s['2019-05-15':'2019-05-18']

利用年获取时间序列切片

s['2018']

利用年和月获取时间序列切片

s['2018-6']

查看重复时间序列

s.index.is_unique

创作不易 觉得有帮助请点赞关注收藏~~~

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值