11对数据进行切片与画图

当我们能够放进大量数据的时候,有的时候我们只需要选取一部分数据进行处理即可。此时,我们就需要用到切片了。

例如,我们现在有2010-01-01到2010-12-31这一年的数据。

  1. 行切
    我们想选取其中某一个月的数据来进行处理
    我们就可以这样使用
    print df.ix[2010-01-01':'2010-12-31']

  2. 列切
    选择特定的列来进行比较
    print df['GOOG']
    print df[['IBM','GLD']]
    里面需要一个列表

  3. 组合切
    print df.ix['2010-03-10':'2010-03-15',['SPY','IBM']]

作图
我们需要调用第三方库

import matplotlib.pyplo as plt
def plot_stock(df):
    df.plot()
    plt.show()

简单的几行代码就可以实现作图。
这样的图是不完整的


运行结果

我们还需要说明表头,好需要表明X轴与Y轴的含义
这个我们需要把图片看作是一个对象

def plot_data(df,title = "Stock prices"):
    ax = df.plot(title = title,fontsize =12)
    ax.set_xlabel("Date")
    ax.set_ylabel("price")
    plt.show()
运行结果

更进一步,我们可以选择特定时间的特定股票进行比较。具体要使用到切片

def plot_selected(df,columns,start_index,end_index):
    plot_data(df.ix[start_index:end_index,columns],title= "selected data")

选取了特定的股票与时间

但是这个时候,我们还是难以比较不同的股票。我们可以进行归一化。

在python中,我们只需要一行代码就可以将其归一化

def normalize_data(df):
   return df/df.ix[0,:]
运行结果

这个时候,我们可以轻易地看得出,在用量纲上不同股票的表现。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容