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))


相关文章
|
6月前
|
运维 监控 算法
时间序列异常检测:MSET-SPRT组合方法的原理和Python代码实现
MSET-SPRT是一种结合多元状态估计技术(MSET)与序贯概率比检验(SPRT)的混合框架,专为高维度、强关联数据流的异常检测设计。MSET通过历史数据建模估计系统预期状态,SPRT基于统计推断判定偏差显著性,二者协同实现精准高效的异常识别。本文以Python为例,展示其在模拟数据中的应用,证明其在工业监控、设备健康管理及网络安全等领域的可靠性与有效性。
816 13
时间序列异常检测:MSET-SPRT组合方法的原理和Python代码实现
|
4月前
|
数据可视化 数据挖掘 数据安全/隐私保护
Python实现时间序列动量策略:波动率标准化让量化交易收益更平稳
时间序列动量策略(TSMOM)是一种基于资产价格趋势的量化交易方法,通过建立多头或空头头寸捕捉市场惯性。然而,传统TSMOM策略因风险敞口不稳定而面临收益波动问题。波动率调整技术通过动态调节头寸规模,维持恒定风险水平,优化了策略表现。本文系统分析了波动率调整TSMOM的原理、实施步骤及优势,强调其在现代量化投资中的重要地位,并探讨关键参数设定与实际应用考量,为投资者提供更平稳的风险管理体验。
153 4
Python实现时间序列动量策略:波动率标准化让量化交易收益更平稳
|
8月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
275 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
|
4月前
|
存储 数据采集 大数据
Python推导式进阶指南:优雅初始化序列的科学与艺术
本文系统讲解Python推导式的用法与技巧,涵盖列表、字典、集合推导式及生成器表达式。通过代码示例和性能对比,展示推导式在数据结构初始化中的优势:简洁高效、执行速度快30%-50%。文章分析基础语法、核心应用场景(如序列构造、键值对转换、去重运算)及嵌套使用,并探讨使用边界与最佳实践,强调可读性优先原则。最后指出,合理运用推导式能显著提升代码质量和处理效率,同时避免过度复杂化的陷阱。
99 0
|
8月前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
283 37
Python时间序列分析工具Aeon使用指南
|
7月前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
机器学习/深度学习 数据采集 算法
时间序列结构变化分析:Python实现时间序列变化点检测
在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
1265 1
|
机器学习/深度学习 算法 数据挖掘
6种有效的时间序列数据特征工程技术(使用Python)
在本文中,我们将探讨使用日期时间列提取有用信息的各种特征工程技术。
360 1
|
8月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
496 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
机器学习/深度学习 索引 Python
python之序列
python之序列
221 59

推荐镜像

更多