当前位置: 首页 > 编程笔记 >

python pandas时序处理相关功能详解

邢良才
2023-03-14
本文向大家介绍python pandas时序处理相关功能详解,包括了python pandas时序处理相关功能详解的使用技巧和注意事项,需要的朋友参考一下

创建时间序列

函数pd.date_range()

根据指定的范围,生成时间序列DatetimeIndex,每隔元素的类型为Timestamp。该函数应用较多。

ts = pd.date_range('2017-09-01', periods=10, freq='d', normalize=False)
ts

输出为:

DatetimeIndex(['2017-09-01', '2017-09-02', '2017-09-03', '2017-09-04',
'2017-09-05', '2017-09-06', '2017-09-07', '2017-09-08',
'2017-09-09', '2017-09-10'],
dtype='datetime64[ns]', freq='D'

主要的入参解析

  • start: 开始时刻,可以是字符串或者datetime类型的值。默认None。
  • end: 结束时刻,可以是字符串或者datetime类型的值,如果指定了长度,即periods,则可不设置。默认None。
  • periods: 时序的长度,整型类型。如果有end,可不设置。默认None。
  • freq: 时序生成的频率,即每隔多少时刻生成一个时序点。字符串类型或者DateOffset类型。默认'D',即天粒度,见上述代码输出。
  • tz: 时区,字符串类型。默认None。
  • normalize: bool类型,没用过,不知道干啥的。
  • name: 设置时序的名称,字符串类型,默认None。
  • closed: 是否包含两边的值。默认None,即两边都保留。

其中,freq的取值可以为如下的符号表示间隔,可以结合符号和数字,如'3d',表示每隔三天记录一个时间点。大小写都可以。

B business day frequency
C custom business day frequency (experimental)
D calendar day frequency
W weekly frequency
M month end frequency
SM semi-month end frequency (15th and end of month)
BM business month end frequency
CBM custom business month end frequency
MS month start frequency
SMS semi-month start frequency (1st and 15th)
BMS business month start frequency
CBMS custom business month start frequency
Q quarter end frequency
BQ business quarter endfrequency
QS quarter start frequency
BQS business quarter start frequency
A year end frequency
BA business year end frequency
AS year start frequency
BAS business year start frequency
BH business hour frequency
H hourly frequency
T, min minutely frequency
S secondly frequency
L, ms milliseconds
U, us microseconds
N nanoseconds

字符串转换为时间戳

pd.to_datetime() 函数可以将表示时间的字符串转换位TimeStamp。

pd.to_datetime('2017-09-01')

输出为:

Timestamp('2017-09-01 00:00:00')

常用的参数:

format: 用来设置字符串的格式,默认如上所示。

时间戳的加减
有时候需要将时间进行增减,可以使用类型:DateOffset。

pd.to_datetime('2017-09-01') + pd.DateOffset(days=10) 

输出为:

Timestamp('2017-09-11 00:00:00')

DateOffset常用的参数

  • months,设置月。
  • days,设置天。
  • years,设置年。
  • hours,设置小时。
  • minutes,设置分钟。
  • seconds,设置秒。

以上可以同时设置,组合使用。

pd.to_datetime('2017-09-01') + pd.DateOffset(seconds=10, days = 10)

输出为:

Timestamp('2017-09-11 00:00:10')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍详谈闪屏页相关处理,包括了详谈闪屏页相关处理的使用技巧和注意事项,需要的朋友参考一下 根据功能模块划分(Android开发推荐此方法)     - Activity   mobilesafe.activty     - 后台服务   mobilesafe.service     - 广播接受者 mobilesafe.receiver     - 数据库 mobilesafe.db.d

  • 当到达脚本尾部或出现了未能捕捉到的异常时,Ruby会结束程序(当调用函数exit、abort或对主线程发出Thread.kill命令时,会引发SystemExit异常)。结束程序时会依次进行下列处理。 对所有线程执行Thread.kill。 若注册了Ruby的伪信号SIGEXIT的处理程序的话,就执行它(请参考trap)。 若注册了END块(END {...}或at_end函数指定的块)的话,就以

  • 如何获取QQ登录的unionId? 在AuthConfig中设备unionId为true AuthRequest authRequest = new AuthQqRequest(AuthConfig.builder() .clientId("clientId") .clientSecret("clientSecret") .redirectUri("

  • 本文向大家介绍C#身份证识别相关技术功能详解,包括了C#身份证识别相关技术功能详解的使用技巧和注意事项,需要的朋友参考一下 最近研究C#相关的OCR技术,图像识别一般C和C++这种底层语言做的比较多,C#主要是依托一些封装好的组件进行调用,这里介绍一种身份证识别的方法。 环境搭建 下载地址:EmguCV官网 在File类别下下载这个EXE,进行安装,安装后在目录下能找相应组件,还有些应用的案例。

  • 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的,只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已,开发了很多优秀的插件。 官网插件库:https://plugins.jetbrains.com/ 如上图标注 1 所示,IntelliJ IDEA 对插件进行了很好的分类: All

  • 本文向大家介绍详解Python的Django框架中的Cookie相关处理,包括了详解Python的Django框架中的Cookie相关处理的使用技巧和注意事项,需要的朋友参考一下 浏览器的开发者在很早的时候就已经意识到, HTTP's 的无状态会对Web开发者带来很大的问题,于是(cookies)应运而生。 cookies 是浏览器为 Web 服务器存储的一小段信息。 每次浏览器从某个服务器请求页