pandas之时间序列笔记
时间戳tiimestamp:固定的时刻->pd.Timestamp
固定时期period:比如2016年3月份,再如2015年销售额->pd.Period
时间间隔interval:由起始时间和结束时间来表示,固定时期是时间间隔的一个特殊
时间日期在Pandas里的作用:分析金融数据,如股票交易数据
import pandas as pd
import numpy as np # 处理时间需要用到的包
from datetime import datetime
from datetime import timedelta now = datetime.now() # 输出当前的时间
# 例如输出 datetime.datetime(2019, 8, 23, 17, 45, 13, 291738)
now.year,now.month,now.day # 输出年月日 (2019, 8, 23) data1 = datetime(2016, 4, 20)
data2 = datetime(2016, 4, 16)
delta = data1 - data2 # 输出datetime.timedelta(4)
delta.days # 输出4
delta.total_seconds() #输出间隔345600.0秒
data2 + delta # 返回某天的日期datetime.datetime(2016, 4, 20, 0, 0)
data2 + timedelta(4.5) #4.5天,它将输出datetime.datetime(2016, 4, 20, 12, 0) date = datetime(2016,3,20,8,30)
str(date) # 将date转换成字符串形式'2016-03-20 08:30:00'
date.strftime("%Y/%m/%d %H:%M:%S") # 格式化输出'2016/03/20 08:30:00' datetime.strptime('2016-03-20 09:30', '%Y-%m-%d %H:%M')
# 去格式化输出datetime.datetime(2016, 3, 20, 9, 30) dates = [datetime(2016,3,1),datetime(2016,3,2),
datetime(2016,3,3),datetime(2016,3,4)]
s = pd.Series(np.random.randn(4),index=dates)
# 将时间变成索引以Series方式输出
type(s.index) # 它的返回值pandas.core.indexes.datetimes.DatetimeIndex
type(s.index[0]) # 它的返回值pandas._libs.tslibs.timestamps.Timestamp pd.date_range('','') # 输出时间列表,间隔频率默认为/D pd.date_range('20160320 16:32:38',periods=10,normalize=True)
# 输出10天间隔频率默认为/D即每天,采用正则化normalize=True去掉16:32:38 pd.date_range('',periods=10, freq='M')
# 输出每个月的月末时间,总共连续10个月,时间间隔频率是月
# freq=BM(每个月最后一个工作日)、W以周为频率、4H以4小时为频率 p = pd.Period(2010, freq='M') # 以月份为时间段,输出Period('2010-01', 'M')
p+2 # 就会输输出Period('2010-03', 'M') pd.period_range('2016-01',periods=10,freq='M')
# 以月份为间隔频率输出连续10个月 pd.period_range('2016Q1',periods=10,freq='Q')
# 以季节为间隔频率输出连续的10个季节 a = pd.Period(2016) # 它的默认频段为年
a.asfreq('M') # 输出Period('2016-12', 'M') 以最后一个月为时期默认频段变为月
a.asfreq('M',how='start') # 时期变为1月 Period('2016-01', 'M')
p = pd.Period('2016-04',freq='M') # 自定义时期Period('2016-04', 'M') #
p.asfreq('A-DEC') #频率转换为以年为单位12月结束 输出 Period('2016', 'A-DEC')
p.asfreq('A-MAR') #介入月份变为3月份时时间就到了2017年3月份 p = pd.Period('2016Q4','Q-JAN') # 以一月份结束的季度
# 下一行可以知道2016Q4的起始时间与结束时间
p.asfreq('M',how='start'), p.asfreq('M',how='end') # 获取该季度倒数第二个工作日下午4点20分
(p.asfreq('B') - 1).asfreq('T') + 16 * 60 +20
pandas之时间序列笔记的更多相关文章
- pandas包学习笔记
目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...
- 笔记 | pandas之时间序列学习随笔1
1. 时间序列自动生成 ts = pd.Series(np.arange(1, 901), index=pd.date_range('2010-1-1', periods=900)) 最终生成了从20 ...
- pandas库学习笔记(二)DataFrame入门学习
Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...
- Pandas快速入门笔记
我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下提供了类似关系型或标签型数据结构的Pandas的使用方法.下面记录相关学习笔记. 数据结构 Panda ...
- pandas处理时间序列(4): 移动窗口函数
六.移动窗口函数 移动窗口和指数加权函数类别如↓: rolling_mean 移动窗口的均值 pandas.rolling_mean(arg, window, min_periods=None, fr ...
- pandas处理时间序列(3):重采样与频率转换
五.重采样与频率转换 1. resample方法 rng = pd.date_range('1/3/2019',periods=1000,freq='D') rng 2. 降采样 (1)resampl ...
- 03. Pandas 2| 时间序列
1.时间模块:datetime datetime模块,主要掌握:datetime.date(), datetime.datetime(), datetime.timedelta() 日期解析方法:pa ...
- pandas处理时间序列(2):DatetimeIndex、索引和选择、含有重复索引的时间序列、日期范围与频率和移位、时间区间和区间算术
一.时间序列基础 1. 时间戳索引DatetimeIndex 生成20个DatetimeIndex from datetime import datetime dates = pd.date_rang ...
- pandas处理时间序列(1):pd.Timestamp()、pd.Timedelta()、pd.datetime( )、 pd.Period()、pd.to_timestamp()、datetime.strftime()、pd.to_datetime( )、pd.to_period()
Pandas库是处理时间序列的利器,pandas有着强大的日期数据处理功能,可以按日期筛选数据.按日期显示数据.按日期统计数据. pandas的实际类型主要分为: timestamp(时间戳) ...
随机推荐
- Java学习之"Hello World"
好像学习每个程序敲的第一个代码都是"Hello World",而学习Java也不例外,这篇博客就讲一下我学习Java的第一个程序HelloWorld.java 程序代码: publ ...
- TThread.Queue和TThread.Synchronize的区别
TThread.Queue和TThread.Synchronize的区别 效果上:二者的作用都是让业务代码在主线程中执行,差别: Synchronize是阻塞,Queue是非阻塞 代码上 两个方法最终 ...
- vue+springboot上传和下载附件功能
https://blog.csdn.net/qq_35867245/article/details/84325385 上传附件(服务端代码) 第一步:在application.yml中配置附件要上传的 ...
- JVM 数组创建的本质
1.创建数组 创建一个MyParent4[] 数组 public class MyTest4 { public static void main(String[] args) { MyParent4[ ...
- GB28181技术基础之1 - SIP协议
SIP 协议,即 会话初始协议(Session Initiation Protocol),是一个应用层的 点对点协议,用于初始.管理和终止网络中的语音和视频会话,是 GB28181 的核心之一. 按照 ...
- shell编程系列9--文本处理三剑客之sed概述及常见用法总结
shell编程系列9--文本处理三剑客之sed概述及常见用法总结 sed的工作模式:对文本的行数据一行行处理,如下图 sed(stream editor),是流编辑器,依据特定的匹配模式,对文本逐行匹 ...
- selenium grid用法
一,selenium grid是什么? selenium是一个用于UI自动化测试的工具. selenium grid是selenium家族中的三大组件的一员.selenium grid有两个版本,gr ...
- bind智能DNS + bindUI管理系统(postgresql + bind dlz)
# 软件环境: * Centos 7.6 * bind-9.14.1.tar.gz * postgresql 11 * python 3.7 * django 2.2.1 QPS:单节点1590 qp ...
- apt-get和yum
1.apt-get是dpkg系的,或者说debian系的,如ubuntu 2.yum是红帽系的,如中标麒麟
- CM记录-CDH部署手册
1.安装环境和软件准备 CentOS release 7.4 JDK1.8.0_121 mysql-connector-java-5.1.40-bin.jar CDH-5.10.2-1.cdh ...