《利用python进行数据分析》读书笔记--第十章 时间序列(三)

7、时间序列绘图

pandas时间序列的绘图功能在日期格式化方面比matplotlib原生的要好。

#-*- coding:utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime as dt
from pandas import Series,DataFrame
from datetime import datetime
from dateutil.parser import parse
import time
from pandas.tseries.offsets import Hour,Minute,Day,MonthEnd
import pytz
#下面两个参数,一个是解析日期形式,一个是将第一列作为行名
close_px_all = pd.read_csv(‘E:\\stock_px.csv‘,parse_dates = True,index_col = 0)
print close_px_all.head(),‘\n‘
close_px = close_px_all[[‘AAPL‘,‘MSFT‘,‘XOM‘]]
close_px = close_px.resample(‘B‘,fill_method = ‘ffill‘)
print close_px.head()
#注意下面的索引方式即可
close_px[‘AAPL‘].plot()
close_px.ix[‘2009‘].plot()
close_px[‘AAPL‘].ix[‘01-2011‘:‘03-2011‘].plot()
#季度型频率的数据会用季度标记进行格式化,这种事情手工的话会很费力……(真是有道理……)
appl_q = close_px[‘AAPL‘].resample(‘Q-DEC‘,fill_method = ‘ffill‘)
appl_q.ix[‘2009‘:].plot()
#作者说交互方式右键按住日期会动态展开或收缩,实际自己做,没效果……
plt.show()
>>>
              AA  AAPL    GE    IBM   JNJ  MSFT   PEP     SPX   XOM
1990-02-01  4.98  7.86  2.87  16.79  4.27  0.51  6.04  328.79  6.12
1990-02-02  5.04  8.00  2.87  16.89  4.37  0.51  6.09  330.92  6.24
1990-02-05  5.07  8.18  2.87  17.32  4.34  0.51  6.05  331.85  6.25
1990-02-06  5.01  8.12  2.88  17.56  4.32  0.51  6.15  329.66  6.23
1990-02-07  5.04  7.77  2.91  17.93  4.38  0.51  6.17  333.75  6.33 

            AAPL  MSFT   XOM
1990-02-01  7.86  0.51  6.12
1990-02-02  8.00  0.51  6.24
1990-02-05  8.18  0.51  6.25
1990-02-06  8.12  0.51  6.23
1990-02-07  7.77  0.51  6.33
[Finished in 37.5s]

下面是作出的几张图:

8、移动窗口函数

在移动窗口(可以带有指数衰减权数)上计算的各种统计函数也是一类常见于时间序列的数组变换。作者将其称为移动窗口函数(moving window function),其中还包括那些窗口不定长的函数(如指数加权移动平均)。跟其他统计函数一样,移动窗口函数也会自动排除缺失值。

时间: 2024-10-11 05:05:58

《利用python进行数据分析》读书笔记--第十章 时间序列(三)的相关文章

《利用Python进行数据分析》之pandas的时间序列基础

本章以<利用python进行数据分析>的第10章:时间序列 为基础,整理了pandas 库中时间序列相关用法. 时间序列数据的意义取决于具体的应用场景,主要有以下几种: 时间戳(timestamp) 固定时期(period) 时间间隔(interval) 实验或过程时间 pandas提供了一组标准的时间序列处理工具和算法,可以轻松的对时间序列进行切片.聚合,对定期/不定期的时间序列进行重采样等. 这些工具大部分对金融和经济数据尤为有用,同时也可以用来分析服务器和日志数据. 1.日期和时间数据类

《利用Python 进行数据分析》 - 笔记(3)

问题导读: 1.pandas的数据结构介绍 2.利用pandas对数据的基本操作 3.汇总和计算描述统计方法 4.处理缺失数据 5.层次化索引 解决方案: pandas的数据结构介绍: (1)Series Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及与之相关的数据标签(索引)组成 In [6]: obj = pd.Series([1,2,3,4]) In [7]: obj Out[7]: 0 1 1 2 2 3 3 4 dtype: int64 Serie

《利用Python 进行数据分析》 - 笔记(5)

问题导读: 1.合并数据集 2.重塑和轴向旋转 3.数据转换(待续) 解决方案: 合并数据集 (1)数据库风格的DataFrame合并 pandas的merge 函数 将通过一个或多个键将行连接起来 如果没有指定列,merge 就会直接依据相同列名的那一列进行连接 In [3]: df1 = pd.DataFrame( ...: {'key':['b','b','a','c','a','a','b'], ...: 'data1':range(7)} ...: ) In [4]: df1 Out[

《利用python进行数据分析》读书笔记 --第一、二章 准备与例子

http://www.cnblogs.com/batteryhp/p/4868348.html 第一章 准备工作 今天开始码这本书--<利用python进行数据分析>.R和python都得会用才行,这是码这本书的原因.首先按照书上说的进行安装,google下载了epd_free-7.3-1-win-x86.msi,译者建议按照作者的版本安装,EPDFree包括了Numpy,Scipy,matplotlib,Chaco,IPython.这里的pandas需要自己安装,对应版本为pandas-0.

利用python进行数据分析--(阅读笔记一)

以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分代码组成:少量需要占用大部分执行时间的代码,以及大量不经常执行的“粘合剂代码”. cython已经成为python领域中创建编译型扩展以及对接c/c++代码的一大途径. 3.在那些要求延迟性非常小的应用程序中(例如高频交易系统),为了尽最大可能地优化性能,耗费时间使用诸如C++这样更低级.更低生产率的语言进行

数据分析学习资料《利用Python进行数据分析第2版》+《Python数据分析与挖掘实战》+《从零开始学Python数据分析与挖掘》

数据分析涉及统计学.线性代数.图形分析绘制.数据挖掘等知识,推荐系统学习电子资料<利用Python进行数据分析第2版>.<Python数据分析与挖掘实战>.<从零开始学Python数据分析与挖掘>电子书和代码测试. <利用Python进行数据分析第2版>电子书代码,每一章之间有递进关系,适合在Python入门<Python编程从入门到实践>电子书之后阅读,本专门针对数据分析领域的.我细致地读了一遍,敲了一遍代码,一开始没有头绪,进展缓慢,后来逐渐

《利用python进行数据分析》

今天开始码这本书--<利用python进行数据分析>.R和python都得会用才行,这是码这本书的原因.首先按照书上说的进行安装,google下载了epd_free-7.3-1-win-x86.msi,译者建议按照作者的版本安装.

利用python进行数据分析——(一)库的学习

总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指 针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间. 此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和

PYTHON学习(三)之利用python进行数据分析(1)---准备工作

学习一门语言就是不断实践,python是目前用于数据分析最流行的语言,我最近买了本书<利用python进行数据分析>(Wes McKinney著),还去图书馆借了本<Python数据分析基础教程--NumPy学习指南>(第二版),准备将python数据分析工具的门给入了哈哈,闲话少说,直接切入正题. 首先<利用python进行数据分析>此书的译者强烈建议计算机环境的配置最好与书上的一致,所以我找了半天书上要求用的安装包 第一,安装32位的EPDFree(书上的版本就是3