时间戳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之时间序列笔记的更多相关文章

  1. pandas包学习笔记

    目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...

  2. 笔记 | pandas之时间序列学习随笔1

    1. 时间序列自动生成 ts = pd.Series(np.arange(1, 901), index=pd.date_range('2010-1-1', periods=900)) 最终生成了从20 ...

  3. pandas库学习笔记(二)DataFrame入门学习

    Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...

  4. Pandas快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下提供了类似关系型或标签型数据结构的Pandas的使用方法.下面记录相关学习笔记. 数据结构 Panda ...

  5. pandas处理时间序列(4): 移动窗口函数

    六.移动窗口函数 移动窗口和指数加权函数类别如↓: rolling_mean 移动窗口的均值 pandas.rolling_mean(arg, window, min_periods=None, fr ...

  6. pandas处理时间序列(3):重采样与频率转换

    五.重采样与频率转换 1. resample方法 rng = pd.date_range('1/3/2019',periods=1000,freq='D') rng 2. 降采样 (1)resampl ...

  7. 03. Pandas 2| 时间序列

    1.时间模块:datetime datetime模块,主要掌握:datetime.date(), datetime.datetime(), datetime.timedelta() 日期解析方法:pa ...

  8. pandas处理时间序列(2):DatetimeIndex、索引和选择、含有重复索引的时间序列、日期范围与频率和移位、时间区间和区间算术

    一.时间序列基础 1. 时间戳索引DatetimeIndex 生成20个DatetimeIndex from datetime import datetime dates = pd.date_rang ...

  9. 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(时间戳) ...

随机推荐

  1. Software Project Management_JUnit && Maven

    Task1: Develop the project “HelloWorld” -A .java program: Just print out “Hello” + your name; -A tes ...

  2. 进入tomcat6的控制台

      在tomcat文件夹找到conf文件夹中的tomcat-user.xml文件, 用记事本打开,在最下面可以看到tomcat默认把用户注释掉了,也就是说打开tomcat主页是进不去管理页面的. 方法 ...

  3. Android 9.0 Http不能访问网络

    最近在做公司产品,一期完成,打包给测试,然后....一台手机连服务器都访问不了看日志如下: UnityWebRequest返回code:0,显示Unknow error 服务器接口是http://非域 ...

  4. Nexus入门【转】

    介绍 DevOps平台采用的介质服务器类型为NEXUS,NEXUS是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问. 一.配置Maven [root@meteor ~ ...

  5. nrm -- 一键切换npm源

    0. 背景 先描述一下没有nrm时我们是怎样使用npm源的 查看npm源地址,终端中输入 npm config list 可以看到npm源 metrics-registry = "https ...

  6. [JDBC/Oracle]设置Statement.setQueryTimeout(seconds)并不好用 原因:环境问题

    对比实验:https://www.cnblogs.com/xiandedanteng/p/11960320.html 注:setQueryTimeout语句还是好用的,但有些环境不支持,下文是在单位虚 ...

  7. 负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息?

    负载均衡服务TCP端口健康检查成功,为什么在后端业务日志中出现网络连接异常信息? 原文: https://help.aliyun.com/document_detail/127193.html?spm ...

  8. HTML中 :after和:before的作用及使用方法(转)

    1.  :before 和 :after 的主要作用是在元素内容前后加上指定内容,示例: HTML代码: <p>你好</p> CSS代码: p:before{ content: ...

  9. Information:java: Multiple encodings set for module chunk platf "GBK" will be used by compile

    转自:https://blog.csdn.net/xiaobing_122613/article/details/81866445 Intellij IDEA 在引入代码后,出现编译错误. Infor ...

  10. 报错:java.lang.ClassNotFoundException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    1.创建mysql_link的时候一定要注意是不是多加了空格: 2.检查Sqoop是否引入了jdbc的jar包.