脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python的Pandas时序数据详解

Python的Pandas时序数据详解

2022-10-28 10:49Viva Python Python

这篇文章主要为大家详细介绍了Pandas时序数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

Pandas时序数据

前言 在数据分析中,时序数据是一类非常重要的数据。事物的发展总是伴随着时间的推移,数据也会在各个时间点上产生。

一、python中的时间表示-datetime模块

​ Python的标准库datetime支持创建和处理时间,Pandas的时间时序模块是在datetime的基础上建立的。

1.换取当前时间

?
1
2
3
import datetime
 
now = datetime.datetime.now()  # 2022-03-06 18:43:49.506048

其中now的全貌如下,是一个datetime对象:

?
1
now: datetime.datetime(2022, 3, 6, 18, 37, 10, 132078)

​ datetime.datetime对象常用的方法:

​ (1) strftime(): 对datetime对象的格式进行转换。使用含%的占位符书写目标格式,如:

?
1
2
newForm = now.strftime("%Y-%m-%d (%H:%M:%S)")
# 2022-03-06 (18:52:31)  为字符串类型

​ 各占位符的含义如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
% 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 当前时区的名称
% %  % 号本身

2.指定时间

datetime.datetime()中传入对应的参数,默认按照单位从大到小指定

?
1
2
birthday = datetime.datetime(2001, 1, 11)  # 默认指定
print(birthday)

​ 也可以通过参数指定,其中yearmonnthday三个参数必须指定

?
1
2
yesterday = pd.Timestamp(2022, 3, 5)  # 2022-03-05 00:00:00
now = pd.Timestamp("now")  # 2022-03-06 19:13:56.507604

3.运算

(1) datetime.datetime对象之间支持减法运算,得到的是一个datetime.timedelta对象

?
1
delta = yeaterday - birthday  # 7723 days, 0:00:00

二、 Pandas处理时序序列 

1.pd.Timestamp()

pd.Timestamp()Pandas定义事时间的主要函数, 支持更丰富的定义时间的构造方法

(1) 根据datetime.datetime对象

?
1
2
now = pd.Timestamp(datetime.datetime.now())
print(now)  # 2022-03-06 19:07:07.253402

(2) 根据字符串

?
1
2
today = pd.Timestamp("2022-03-06")
print(today)  # 2022-03-06 00:00:00

(3) 更具指定的参数

?
1
2
yesterday = pd.Timestamp(2022, 3, 5# 2022-03-05 00:00:00
now = pd.Timestamp("now"# 2022-03-06 19:13:56.507604

(4) 根据时间戳

?
1
pd.Timestamp(1646565103.114923, unit="s"# unit指定单位为秒

2.pd.Timedelta()

pd.Timedelta()用于创建时间差对象,也具有与pd.Timestamp()类似的构造方法。

(1) 根据字符串创建

?
1
2
oneDay = pd.Timedelta("1 days"# 1 days 00:00:00
duration = pd.Timedelta("2 days 2 hours"# 1 days 02:00:00

(2) 指定参数创建

?
1
oneDay = pd.Timedelta(days=1# 1 days 00:00:00

3.运算

?
1
与`datetime`模块运算类似,`pandas`的`Timestamp`对象之间相减可以得到`Timedelta`对象。

4.时间索引

数据表中长常使用时间作为索引,pandas支持创建长时间序列

​(1) pd.to_datetime()

pd.to_datetime()支持将时间对象和类时间字符串转化为DatetimeIndex对象。

?
1
2
3
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()可以给定开始时间或者结束时间,并且指定周期数据,周期频率,会自动生成在此范围的时间索引数据:

?
1
2
3
4
5
6
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()函数

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!    

原文链接:https://blog.csdn.net/js010111/article/details/123315910

延伸 · 阅读

精彩推荐
  • PythonEM算法的python实现的方法步骤

    EM算法的python实现的方法步骤

    本篇文章主要介绍了EM算法的python实现的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看 ...

    LilyNothing7532020-12-30
  • Pythonpandas针对excel处理的实现

    pandas针对excel处理的实现

    这篇文章主要介绍了pandas针对excel处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随...

    土色无尘8982021-08-25
  • PythonPython实现的文本简单可逆加密算法示例

    Python实现的文本简单可逆加密算法示例

    这篇文章主要介绍了Python实现的文本简单可逆加密算法,结合完整实例形式分析了Python自定义加密与解密算法具体实现与使用技巧,需要的朋友可以参考下...

    九日王朝4682020-11-07
  • PythonPython爬取某拍短视频

    Python爬取某拍短视频

    现在短视频可谓是一骑绝尘,吃饭的时候、休息的时候、躺在床上都在刷短视频,今天给大家带来python爬虫进阶 :美拍视频地址加密解析,需要的朋友可以参考...

    五包辣条!4202021-11-29
  • Pythonmatplotlib自定义鼠标光标坐标格式的实现

    matplotlib自定义鼠标光标坐标格式的实现

    这篇文章主要介绍了matplotlib自定义鼠标光标坐标格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    mighty133852021-08-23
  • PythonPython闭包函数定义与用法分析

    Python闭包函数定义与用法分析

    这篇文章主要介绍了Python闭包函数定义与用法,结合实例形式分析了Python闭包函数的功能、定义、使用方法及相关操作注意事项,需要的朋友可以参考下...

    铠甲巨人9542021-03-19
  • PythonPython是怎样处理json模块的

    Python是怎样处理json模块的

    这篇文章主要介绍了Python是怎样处理json模块的,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    吃着东西不想停7582020-07-16
  • Pythonpython实现进制转化的示例代码

    python实现进制转化的示例代码

    本文主要介绍了python实现进制转化的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    路飞QAQw5892022-02-18