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(时间戳) ...
随机推荐
- #C++初学记录(字符串与指针操作库函数)
测试程序 #include<iostream> #include<cstring> using namespace std; int a[204],b[204],lena,n; ...
- “都是为了生活”小组 选题 Scrum立会报告+燃尽图 01
作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8683. 由于团队账号申请博客未通过网站审核,无法写博或加入班级,第一次立会 ...
- Java IO系统--字符流
字符流:尽管字节流提供了处理任何类型输入/输出操作的足够功能,它们补鞥呢直接操作Unicode字符.字符流层次结构的顶层是Reader和Writer抽象类.类似于InputStream和OutputS ...
- graph embedding 之 struc2vec
在现实的网络中,构成网络的每个节点可能在网络中担任着某种角色.比如社交网络中,经常可以看见一些关注量很高的大V.两个大V在网络中的角色可能相同,因为他们都有很高的关注量:而大V与普通人(仅有几个关注) ...
- idea 如何新建一个Maven项目并且写第一个servlet
使用idea已经有段时间了,但是一直没有自己亲自新建一个项目,从头开始写一个Servlet,今天就来学习一下,并且记一个笔记. 一. 1.首先,打开idea new-->Project 2.选择 ...
- excel自增编号
1.首先在单元格 A2:C2 中输入数据. 2.选择 A3:A500, 我们按键盘的 CTRL G 键, 拉起定位框, 然后在参考位置, 输入 A3:A500, 然后单击 "确定" ...
- 效率包括了代码的GC 大小与内存大小,执行速度等等。其中执行速度不是关注 的重点
效率包括了代码的GC 大小与内存大小,执行速度等等.其中执行速度不是关注的重点
- Oracle数据库查看表空间sql语句
转: Oracle数据库查看表空间sql语句 2018-09-03 15:49:51 兰海泽 阅读数 6212 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...
- Opencv图片明暗处理
Opencv图片明暗处理 #include <iostream> #include <opencv2/opencv.hpp> using namespace std; usin ...
- IDEA中spring约束文件报红 的解决办法