python时间序列

简介: 笔记

一、获取当前时刻的时间


from datetime import datetime
# 返回当前时刻的日期和时间
print(datetime.now())
# 分别返回当前时刻的年,月,日
print(datetime.now().year)
print(datetime.now().month)
print(datetime.now().day)
# 返回当前时刻的周数
# 返回周几
print(datetime.now().weekday()+1)
# 返回周数
print(datetime.now().isoweekday())


二、指定日期和时间的的格式


from datetime import datetime
print(datetime.now().date())
print(datetime.now().time())
# 借助strftime函数可以自定义时间和日期的格式
print(datetime.now().strftime('%Y-%m-%d'))
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))


三、字符串和时间格式互相转换


from datetime import datetime
from dateutil.parser import parse
now = datetime.now()
print(now)
# 查看now数据类型
print(type(now))
# 将时间数据类型转换成字符串格式
print(type(str(now)))
# 将字符串格式转换为时间格式
str_time = '1999-11-11'
print(type(str_time))
# 将字符串解析成时间
print(parse(str_time))
print(type(parse(str_time)))

四、时间索引


'''
时间索引:就是根据时间来对时间格式的字段进行数据选取的一种索引方式
在python中,可以选取具体的某一时间对应的值,也可以选择某一段时间内的值
'''
import pandas as pd
import numpy as np
from datetime import datetime
index = pd.DatetimeIndex(['2018-01-01','2018-01-02','2018-01-03','2018-01-04','2018-01-05','2018-01-06','2018-01-07','2018-01-08','2018-01-09','2018-01-10'])
data = pd.DataFrame(np.arange(1,11),index=index,columns=['num'])
print(data)
# 获取2108年的数据
print(data['2018'])
# 获取2108年1月的数据
print(data["2018-01" ])
# 获取2018年1月1日到2018年1月5日的数据
print(data["2018-01-01":"2018-01-05"])
'''
上面的方法只适用于索引是时间的情况下,并不是所有的情况都适合
'''
print('..........换数据..............')
df = pd.read_excel("/Users/caizhengjie/Desktop/数据1.xlsx")
print(df)
# 选取成交时间为2018年8月8日
print(df[df['成交时间']==datetime(2018,8,8)])
# 选取成交时间为2018年8月9日之后的订单
print(df[df['成交时间'] > datetime(2018,8,9)])
# 选取成交时间为2018年8月10日之前的订单
print(df[df['成交时间'] < datetime(2018,8,10)])
# 选取成交时间为2018年8月8日到2018年8月11日之间的订单
print(df[(df['成交时间'] > datetime(2018,8,8))&(df['成交时间'] < datetime(2018,8,11))])


五、时间之差


from datetime import datetime
from datetime import timedelta
from pandas.tseries.offsets import Day,Hour,Minute
cha = datetime(2020,2,2,11,34)-datetime(2020,1,23,1,2)
print(cha) #差为10 days, 10:32:00
# 返回天的时间差
print(cha.days)
# 返回秒的时间差
print(cha.seconds)
# 换成小时差
print(cha.seconds/3600)
'''
时间偏移:就是给时间往前或往后推一段时间,即加减一段时间
python时间偏移方式有两种:1。借助timedelta,但是它只能偏移天,秒,微秒单位的时间
2。用pandas中的日期偏移量(date offset)
'''
# timedelta
data = datetime(2019,3,4,5,3)
# 往后推一天
print(data+timedelta(days=1))
# 往后推60秒
print(data + timedelta(seconds=60))
# 往前推一天
print(data-timedelta(days=1))
# 往前推60秒
print(data - timedelta(seconds=60))
print("。。。。。。。。。。。。。。。。")
# date offset:可以直接实现天,小时,分钟单位时间的偏移,不需要换算,相比timedelta更方便
# 往后推一天
print(data+Day(1))
# 往后推1小时
print(data+Hour(1))
# 往后推10分钟
print(data+Minute(10))
# 往前推一天
print(data-Day(1))
# 往前推1小时
print(data-Hour(1))
# 往前推10分钟
print(data-Minute(10))


相关文章
|
3月前
|
存储 算法 数据挖掘
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
本文介绍了2023年中国高校大数据挑战赛赛题B的Python实现方法,该赛题涉及DNA存储技术中的序列聚类与比对问题,包括错误率分析、序列聚类、拷贝数分布图的绘制以及比对模型的开发。
82 1
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
|
2月前
|
机器学习/深度学习 数据采集 算法
时间序列结构变化分析:Python实现时间序列变化点检测
在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
192 1
|
3月前
|
机器学习/深度学习 算法 数据挖掘
6种有效的时间序列数据特征工程技术(使用Python)
在本文中,我们将探讨使用日期时间列提取有用信息的各种特征工程技术。
138 0
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
65 2
11种经典时间序列预测方法:理论、Python实现与应用
|
27天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
54 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
2月前
|
机器学习/深度学习 索引 Python
python之序列
python之序列
144 59
|
1月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
1月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
2月前
|
机器学习/深度学习 数据采集 算法
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
有多种方法可以处理时间序列数据中的噪声。本文将介绍一种在我们的研究项目中表现良好的方法,特别适用于时间序列概况中数据点较少的情况。
54 1
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
|
3月前
|
机器学习/深度学习 Python
时间序列特征提取:从理论到Python代码实践
时间序列是一种特殊的存在。这意味着你对表格数据或图像进行的许多转换/操作/处理技术对于时间序列来说可能根本不起作用。
59 1
时间序列特征提取:从理论到Python代码实践
下一篇
无影云桌面