python pandas时序处理相关功能详解
作者:ledao 发布时间:2023-07-25 12:03:18
创建时间序列
函数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')
来源:https://www.jianshu.com/p/3e00e5ba9b75


猜你喜欢
- 随着互联网的普及和发展,越来越多的人开始关注个人博客。个人博客是一个非常好的平台,可以让人们分享自己的知识和经验,也可以让人们交流和互动。在
- 本文实例讲述了Python基础之循环语句用法。分享给大家供大家参考,具体如下:while 循环Python中while语句的一般形式:whi
- 目录1. 反向引用_命名分组2. 正则函数小提示:总结1. 反向引用_命名分组# ### 反向引用import restrvar = &qu
- 问题: pydev使用wx库开发的过程中,import时碰到wx可以识别,但是其它很多函数和变量上面全部是红叉,即无法识别。 解决方法: 1
- 两者在使用效果上没有任何区别,都是为了将实例化后的vue挂载到指定的dom元素中。如果在实例化vue的时候指定el,则该vue将会渲染在此e
- 如何用ADO批量更新记录?是的,ADO有这项功能,不过好像用的人不太多(不了解还是不会用呢?):<HTML> &nbs
- 本文实例讲述了vue.js使用v-if实现显示与隐藏功能。分享给大家供大家参考,具体如下:<!doctype html><
- python可以简单优美,也很有趣,下面是收集的例子:1.一句话开始一个http的文件服务器:$ python -m SimpleHTTPS
- 关于这个问题的解答,网络上有成千上万个版本,当然,出现问题的诱因不同,解决的途径也不同,所以我不排除其他解决此类问题的办法,但是这些办法都没
- 假设当我们只需知道某个数组有没有某个属性,如果找到了直接跳出循环,省略掉剩下的循环步骤是较优化的操作,但是for中是可以利用break跳出循
- 我们先看一下相关数据结构的知识。 在学习线性表的时候,曾有这样一个例题。 已知一个存储整数的顺序表La,试构造顺序表Lb,要求顺序表Lb中只
- 代码很简洁,也很简单,就不多废话了。/** * 去除多余的0 */ function del0($s)&
- 利用Python将多份excel表格整理成一份表格,抛弃过去逐份打开复制粘贴的方式。直接附上代码:import xlrd import xl
- 先看看关于call()的官方解释,“调用一个对象的一个方法,以另一个对象替换当前对象。”,看了这样的解释,或许让你更摸不着头脑了。看例子:v
- 介绍最近在研究目标检测方面的小东西,需要到对桌面进行实时捕捉画面,获取画面后再检测,达到实时桌面目标检测的目的,所以写了一段小代码来实现该功
- selenium3.0之后的版本的就不支持直接打开火狐浏览器,启动火狐浏览器报错,如下图,要想运行就需要我们单独装上驱动。3.0之前的版本,
- 证明出错在dataloader里面在pytorch当中,float16和half是一样的数据结构,都是属于half操作,然后dataload
- 做开发总得用到数据吧,Linux作为服务器,总得有一个数据库来存储测试用的数据,所以呢,这里附上CentOS6、7安装MySQL5.7的教程
- 前言最近无意间发现mysql的coalesce,又正好有时间,就把mysql中coalesce()的使用技巧总结下分享给大家,下面来一起看看
- 绘制八个子图import matplotlib.pyplot as pltfig = plt.figure()shape=['.