Python 官方文档:入门教程 => 点击学习
这篇文章主要讲解了“python的pandas时序数据实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的Pandas时序数据实例分析”吧!Pandas时序数据前言 在数据分
这篇文章主要讲解了“python的pandas时序数据实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的Pandas时序数据实例分析”吧!
前言 在数据分析中,时序数据是一类非常重要的数据。事物的发展总是伴随着时间的推移,数据也会在各个时间点上产生。
datetime
模块Python的标准库datetime
支持创建和处理时间,Pandas的时间时序模块是在datetime
的基础上建立的。
import datetimenow = datetime.datetime.now() # 2022-03-06 18:43:49.506048
其中now的全貌如下,是一个datetime
对象:
now: datetime.datetime(2022, 3, 6, 18, 37, 10, 132078)
datetime.datetime
对象常用的方法:
(1) strftime()
: 对datetime
对象的格式进行转换。使用含%
的占位符书写目标格式,如:
newFORM = now.strftime("%Y-%m-%d (%H:%M:%S)")# 2022-03-06 (18:52:31) 为字符串类型
各占位符的含义如下
% y 两位数的年份表示(00 - 99)% Y 四位数的年份表示(000 - 9999)% m 月份(01 - 12)% d 月内中的一天(0 - 31)% H 24小时制小时数(0 - 23)% I 12小时制小时数(01 - 12)% M 分钟数(00 = 59)% S 秒(00 - 59)% a 本地简化星期名称% A 本地完整星期名称% b 本地简化的月份名称% B 本地完整的月份名称% c 本地相应的日期表示和时间表示% j 年内的一天(001 - 366)% p 本地A.M.或P.M.的等价符% U 一年中的星期数(00 - 53)星期天为星期的开始% w 星期(0 - 6),星期天为星期的开始% W 一年中的星期数(00 - 53)星期一为星期的开始% x 本地相应的日期表示% X 本地相应的时间表示% Z 当前时区的名称% % % 号本身
向datetime.datetime()
中传入对应的参数,默认按照单位从大到小指定
birthday = datetime.datetime(2001, 1, 11) # 默认指定print(birthday)
也可以通过参数指定,其中year
、monnth
、day
三个参数必须指定
yesterday = pd.Timestamp(2022, 3, 5) # 2022-03-05 00:00:00now = pd.Timestamp("now") # 2022-03-06 19:13:56.507604
(1) datetime.datetime
对象之间支持减法运算,得到的是一个datetime.timedelta
对象
delta = yeaterday - birthday # 7723 days, 0:00:00
pd.Timestamp()
是Pandas
定义事时间的主要函数, 支持更丰富的定义时间的构造方法
(1) 根据datetime.datetime
对象
now = pd.Timestamp(datetime.datetime.now())print(now) # 2022-03-06 19:07:07.253402
(2) 根据字符串
today = pd.Timestamp("2022-03-06")print(today) # 2022-03-06 00:00:00
(3) 更具指定的参数
yesterday = pd.Timestamp(2022, 3, 5) # 2022-03-05 00:00:00now = pd.Timestamp("now") # 2022-03-06 19:13:56.507604
(4) 根据时间戳
pd.Timestamp(1646565103.114923, unit="s") # unit指定单位为秒
pd.Timedelta()
用于创建时间差对象,也具有与pd.Timestamp()
类似的构造方法。
(1) 根据字符串创建
oneDay = pd.Timedelta("1 days") # 1 days 00:00:00duration = pd.Timedelta("2 days 2 hours") # 1 days 02:00:00
(2) 指定参数创建
oneDay = pd.Timedelta(days=1) # 1 days 00:00:00
与`datetime`模块运算类似,`pandas`的`Timestamp`对象之间相减可以得到`Timedelta`对象。
数据表中长常使用时间作为索引,pandas
支持创建长时间序列
(1) pd.to_datetime()
pd.to_datetime()
支持将时间对象和类时间字符串转化为DatetimeIndex
对象。
index = pd.to_datetime(["03/06/2022", datetime.datetime.now()])print(index)# DatetimeIndex(['2022-03-06 00:00:00', '2022-03-06 19:29:44.855267'], dtype='datetime64[ns]', freq=None)
(2) pd.date_range()
pd.date_range()
可以给定开始时间或者结束时间,并且指定周期数据,周期频率,会自动生成在此范围的时间索引数据:
index = pd.date_range(start="2022-01-01", periods=10)print(index)# DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10'], dtype='datetime64[ns]', freq='D')
如果要跳过休息日可以使用pd.bdate_range()
函数
感谢各位的阅读,以上就是“Python的Pandas时序数据实例分析”的内容了,经过本文的学习后,相信大家对Python的Pandas时序数据实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
--结束END--
本文标题: Python的Pandas时序数据实例分析
本文链接: https://lsjlt.com/news/324298.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0