数据科学入门与实战:玩转pandas之六时间序列
时间序列的操作基础
首先引入相关的包
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之六时间序列相关推荐
- python3数据科学入门与实战_Python3学习之Python3数据科学入门与实战视频教程
Python3学习之Python3数据科学入门与实战视频教程 Python3数据科学入门与实战 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开数据跟踪,本课程通过Nu ...
- 数据科学入门与实战:玩转pandas实战项目分析航班晚点情况
引入相关包 import numpy as np import pandas as pd from pandas import DataFrame,Series 读取数据文件 df = pd.read ...
- 数据科学入门与实战:玩转pandas之七数据透视
数据透视 引入相关包 #透视表 import numpy as np import pandas as pd from pandas import DataFrame,Series 看看- df = ...
- 数据科学入门与实战:玩转pandas之七数据分箱技术,分组技术,聚合技术
首先导入相关包 import pandas as pd import numpy as np from pandas import Series,DataFrame #数据分箱技术Binning 数据 ...
- 数据科学入门与实战:玩转pandas之五
通过apply进行数据预处理 首先读入csv文件 df = pd.read_csv('apply_demo.csv') print(df.head()) 看看规模 print(df.size) 创建新 ...
- 数据科学入门与实战:玩转pandas之二
Series,DateFrame的排序功能 引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFr ...
- 数据科学入门与实战:玩转pandas之四
DataFrame的merge(合并)操作 首先 import numpy as np import pandas as pd from pandas import Series,DataFrame ...
- 数据科学入门与实战:玩转pandas之三
重命名DataFrame的Index 引入包 import numpy as np import pandas as pd from pandas import Series,DataFrame 创建 ...
- 数据科学入门与实战:玩转pandas之一
首先引入相关的包 import numpy as np import pandas as pd from pandas import Series,DataFrame Serious的运算 创建两个S ...
最新文章
- RedisTemplate常用方法总结
- mySql 的常用命令
- 1024程序猿节:致敬改变世界的你
- 第一部分 Mysql的基础
- 使用高级管理控制台获得对Windows Home Server的扩展访问
- SpringMVC学习--文件上传
- centos下网络配置方法(网关、dns、ip地址配置)
- 【模拟】Ingenious Lottery Tickets
- 【Python】Matplotlib在概率密度曲线图的基础上绘制积分区域
- python与机器视觉(X)打包为exe可执行文件
- python实现学生成绩聚类分析_聚类分析Python实现
- 掉电有点快!iOS15.4翻车:iPhone11/12/13更新后续航直接崩了
- MySQLi学习笔记 :一 1. 数据库的基本概念 2. MySQL数据库软件 	 安装-- 卸载--. 配置 3. SQL
- Exchange 中关于邮件的生命周期和托管文件夹的相关设定
- Maven整合Spring与Solr
- B站视频下载与字幕下载转换
- 火狐浏览器 android版,火狐浏览器手机版
- js数组方法及其返回值(简单用法)
- 惊人!葵花宝典的创始人居然是段誉
- PD3.1 140W双C快充解决方案
热门文章
- VB案例:DAO使用示例1
- dubbo原理_dubbo的底层原理
- qtablewidget固定一列滚动_简单易懂,最全滚动轴承基本知识汇总
- 2017.5 期中考试 完挂
- python生成sql文件_Python 数据库Insert语句脚本生成工具(SQL Server)
- Unity Shader:用几何着色器实现复联3灭霸的终极大招灰飞烟灭
- java单个数组求积_[剑指offer][Java]构建乘积数组
- IDirect3DDevice9::SetClipPlane
- 【音频处理】IIR滤波器设计(一)Biquad 滤波器
- 实验一 分治与递归—全排列 java算法