时间序列的操作基础

首先引入相关的包

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from datetime import datetime

创建一个时间对象

t1 = datetime(2009,10,20,0,0)
print(t1)


创建多个时间对象

date_list = [datetime(2016,9,1),datetime(2017,9,2),datetime(2016,9,3),datetime(2017,9,4),datetime(2016,10,5),
]
print(date_list)

打印结果

[datetime.datetime(2016, 9, 1, 0, 0), datetime.datetime(2017, 9, 2, 0, 0), datetime.datetime(2016, 9, 3, 0, 0), datetime.datetime(2017, 9, 4, 0, 0), datetime.datetime(2016, 10, 5, 0, 0)]
2016-09-01    0.257473

创建一个以date_list为index的Serious并且查看他的相关信息

s1 = Series(np.random.rand(5),index=date_list)
print(s1)
print(type(s1))
print(s1.index)
print(s1.values)
print(s1[1])


也可以通过data查看

print(s1[datetime(2016,9,1)])
print(s1['2016-9-1'])
print(s1['2016-9'])
print('-'*100)
print(s1['2017'])


如果我想产生这样一个index:连续的日期。

date_list_new = pd.date_range('2016-01-01',periods=100)


可以加一个freq参数,让时间间隔显示

date_list_new = pd.date_range('2016-01-01',periods=100,freq='5H')


建立一个以date_list_new为索引的s2

s2 = Series(np.random.rand(100),index=date_list_new)
print(s2)

时间序列数据的采样和画图

首先引入相关包

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

创建一下date_list_new

#创建一下date_list_new
t_range = pd.date_range('2016-01-01','2016-12-31')
print(t_range)
print(len(t_range))


创建s1,index为t_range

s1 = Series(np.random.randn(len(t_range)),index = t_range)
print(s1)


笨办法…

#对它进行采样
print(s1['2016-01'])#获取到一月份的数据
print(s1['2016-01'].mean())
#算12次 就实现采样的功能 然而有更好的

函数采样
按月采样

s1_month = s1.resample('M').mean()
print(s1_month)
print(s1_month.index)


一天采集24个点

#一天采集24个点,提高采样率
#填充方式
print(s1.resample('H').ffill())

另一种填充方式

#另一种填充方式
print(s1.resample('H').bfill())

画时序图

#画时序图
import matplotlib.pyplot as plt
t_range = pd.date_range('2016-01-01','2016-12-31',freq='H')
print(t_range)
#股票
stock_df = DataFrame(index=t_range)
stock_df['BABA'] = np.random.randint(80,160,size = len(t_range))
#print(stock_df)
print(stock_df.head())
stock_df['TENCENT'] = np.random.randint(80,160,size = len(t_range))stock_df.plot()
plt.show()


采样率高的没法看
采样一下
计算一下每周的均值然后绘图

weekly_df = DataFrame()

然后周平均,并绘图

weekly_df = DataFrame()
weekly_df['BABA'] = stock_df['BABA'].resample('W').mean()
weekly_df['TENCENT'] = stock_df['TENCENT'].resample('W').mean()
print(weekly_df.head())
weekly_df.plot()


数据科学入门与实战:玩转pandas之六时间序列相关推荐

  1. python3数据科学入门与实战_Python3学习之Python3数据科学入门与实战视频教程

    Python3学习之Python3数据科学入门与实战视频教程 Python3数据科学入门与实战 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开数据跟踪,本课程通过Nu ...

  2. 数据科学入门与实战:玩转pandas实战项目分析航班晚点情况

    引入相关包 import numpy as np import pandas as pd from pandas import DataFrame,Series 读取数据文件 df = pd.read ...

  3. 数据科学入门与实战:玩转pandas之七数据透视

    数据透视 引入相关包 #透视表 import numpy as np import pandas as pd from pandas import DataFrame,Series 看看- df = ...

  4. 数据科学入门与实战:玩转pandas之七数据分箱技术,分组技术,聚合技术

    首先导入相关包 import pandas as pd import numpy as np from pandas import Series,DataFrame #数据分箱技术Binning 数据 ...

  5. 数据科学入门与实战:玩转pandas之五

    通过apply进行数据预处理 首先读入csv文件 df = pd.read_csv('apply_demo.csv') print(df.head()) 看看规模 print(df.size) 创建新 ...

  6. 数据科学入门与实战:玩转pandas之二

    Series,DateFrame的排序功能 引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFr ...

  7. 数据科学入门与实战:玩转pandas之四

    DataFrame的merge(合并)操作 首先 import numpy as np import pandas as pd from pandas import Series,DataFrame ...

  8. 数据科学入门与实战:玩转pandas之三

    重命名DataFrame的Index 引入包 import numpy as np import pandas as pd from pandas import Series,DataFrame 创建 ...

  9. 数据科学入门与实战:玩转pandas之一

    首先引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFrame Serious的运算 创建两个S ...

最新文章

  1. RedisTemplate常用方法总结
  2. mySql 的常用命令
  3. 1024程序猿节:致敬改变世界的你
  4. 第一部分 Mysql的基础
  5. 使用高级管理控制台获得对Windows Home Server的扩展访问
  6. SpringMVC学习--文件上传
  7. centos下网络配置方法(网关、dns、ip地址配置)
  8. 【模拟】Ingenious Lottery Tickets
  9. 【Python】Matplotlib在概率密度曲线图的基础上绘制积分区域
  10. python与机器视觉(X)打包为exe可执行文件
  11. python实现学生成绩聚类分析_聚类分析Python实现
  12. 掉电有点快!iOS15.4翻车:iPhone11/12/13更新后续航直接崩了
  13. MySQLi学习笔记 :一 1. 数据库的基本概念 2. MySQL数据库软件 安装-- 卸载--. 配置 3. SQL
  14. Exchange 中关于邮件的生命周期和托管文件夹的相关设定
  15. Maven整合Spring与Solr
  16. B站视频下载与字幕下载转换
  17. 火狐浏览器 android版,火狐浏览器手机版
  18. js数组方法及其返回值(简单用法)
  19. 惊人!葵花宝典的创始人居然是段誉
  20. PD3.1 140W双C快充解决方案

热门文章

  1. VB案例:DAO使用示例1
  2. dubbo原理_dubbo的底层原理
  3. qtablewidget固定一列滚动_简单易懂,最全滚动轴承基本知识汇总
  4. 2017.5 期中考试 完挂
  5. python生成sql文件_Python 数据库Insert语句脚本生成工具(SQL Server)
  6. Unity Shader:用几何着色器实现复联3灭霸的终极大招灰飞烟灭
  7. java单个数组求积_[剑指offer][Java]构建乘积数组
  8. IDirect3DDevice9::SetClipPlane
  9. 【音频处理】IIR滤波器设计(一)Biquad 滤波器
  10. 实验一 分治与递归—全排列 java算法