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(时间戳) ...
随机推荐
- (一)Sql学习之sql语言的组成
SQL语言是具有强大查询功能的数据库结构化语言.由以下几部分组成: 1.数据定义类SQL(DDL--DATE DEFINITION LANGUAGE) CREATE-创建数据库及其对象(表,索引,视图 ...
- vue element-UI Form表单验证
摘自官网 https://element.eleme.cn/#/zh-CN/component/form 保证prop的值等于v-model的值,并且初始化值,这样验证才好使. 可以自定义验证 < ...
- NoSql数据库Redis系列(3)——Redis数据持久化(RDB)
大家都知道 Redis 是一个内存数据库,所谓内存数据库,就是将数据库中的内容保存在内存中,这与传统的MySQL,Oracle等关系型数据库直接将内容保存到硬盘中相比,内存数据库的读写效率比传统数据库 ...
- ORACLE AUDIT
Oracle 作者:Davis_itpub 时间:2018-06-27 16:28:39 61 0 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle 会将审计跟踪结果存放到OS ...
- 产品经理 写SQL
产品经理必备技能:写SQL - 云+社区 - 腾讯云https://cloud.tencent.com/developer/news/3177 产品经理学SQL(一)一个小时上手SQL | 人人都是产 ...
- NET 4.5 中新增的特性调用者信息特性CallerMemberNameAttribute/CallerFilePathAttribute/CallerLineNumberAttribute
标题中所说的三个特性 CallerMemberNameAttribute / CallerFilePathAttribute / CallerLineNumberAttribute 我们统称为调用者信 ...
- js 跳转到 百度指定地址定位点
js 跳转到 百度指定地址定位点 http://api.map.baidu.com/geocoder?address=北京市海淀区上地信息路9号奎科科技大厦&output=html&s ...
- weui 导航悬浮固定
<style> .none{display: none} #toolbar { display: flex; justify-content: center; align-items: c ...
- Spring 中使用了哪些设计模式?
好了,话不多说,开始今天的内容.spring中常用的设计模式达到九种,我们举例说明. 1.简单工厂模式 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式 ...
- 【JS】jquery展示JSON插件JSONView
JSONView介绍 jQuery插件,用于显示漂亮的JSON. 官网地址:https://plugins.jquery.com/jsonview/ git地址:https://github.com/ ...