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

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

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

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

一、日期和时间数据类型

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

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

相关文章
|
8天前
|
数据可视化 数据挖掘 Java
springboot+vue体质测试数据分析及可视化设计(源码+文档)
体质测试数据分析及可视化设计实现了以下功能: 管理员:首页、个人中心、学生管理、教师管理、日常运动管理、运动分析管理、成绩信息管理、论坛管理、系统管理, 学生:首页、个人中心、日常运动管理、运动分析管理、成绩信息管理、论坛管理, 教师:首页、个人中心、日常运动管理、运动分析管理、成绩信息管理、系统管理, 前台首页:首页、论坛信息、公告信息、个人中心、后台管理、客服模块的修改维护操作。
|
9天前
|
数据采集 机器学习/深度学习 数据可视化
使用Python进行简单的数据分析与可视化
使用Python进行简单的数据分析与可视化
91 0
|
9天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析与可视化
使用Python进行数据分析与可视化
29 3
|
18天前
|
数据采集 数据可视化 数据挖掘
利用 DataFrame 进行数据分析:实战案例解析
【5月更文挑战第19天】DataFrame是数据分析利器,本文通过一个销售数据案例展示其使用:读取数据创建DataFrame,计算产品总销量,分析月销售趋势,找出最畅销产品,并进行数据可视化。此外,还提及数据清洗和异常处理。DataFrame为数据处理、分组计算和可视化提供便利,助力高效数据分析。
40 3
|
22天前
|
机器学习/深度学习 数据可视化 数据挖掘
时间序列预测:探索性数据分析和特征工程的实用指南
时间序列分析在数据科学和机器学习中广泛应用于预测,如金融、能源消耗和销售。随着技术发展,除了传统统计模型,机器学习(如树模型)和深度学习(如LSTM、CNN和Transformer)也被应用。探索性数据分析(EDA)是预处理关键步骤,它通过Pandas、Seaborn和Statsmodel等Python库进行。本文展示了时间序列分析模板,包括描述性统计、时间图、季节图、箱形图、时间序列分解和滞后分析。使用Kaggle的小时能耗数据集,展示了如何通过这些方法揭示数据模式、季节性和趋势,为特征工程提供见解。
22 3
|
22天前
|
算法 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
|
22天前
|
机器学习/深度学习 数据采集 算法
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
|
22天前
|
数据可视化 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
|
22天前
|
数据采集 数据可视化 数据挖掘
如何利用Python中的Pandas库进行数据分析和可视化
Python的Pandas库是一种功能强大的工具,可以用于数据分析和处理。本文将介绍如何使用Pandas库进行数据分析和可视化,包括数据导入、清洗、转换以及基本的统计分析和图表绘制。通过学习本文,读者将能够掌握利用Python中的Pandas库进行高效数据处理和可视化的技能。
|
22天前
|
数据采集 数据可视化 数据挖掘
Python 与 PySpark数据分析实战指南:解锁数据洞见
Python 与 PySpark数据分析实战指南:解锁数据洞见