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()

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


11对数据进行切片与画图_第1张图片
运行结果

我们还需要说明表头,好需要表明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()
11对数据进行切片与画图_第2张图片
运行结果

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

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

11对数据进行切片与画图_第3张图片
选取了特定的股票与时间

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

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

def normalize_data(df):
   return df/df.ix[0,:]
11对数据进行切片与画图_第4张图片
运行结果

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

你可能感兴趣的:(11对数据进行切片与画图)