当我们能够放进大量数据的时候,有的时候我们只需要选取一部分数据进行处理即可。此时,我们就需要用到切片了。
例如,我们现在有2010-01-01到2010-12-31这一年的数据。
行切
我们想选取其中某一个月的数据来进行处理
我们就可以这样使用
print df.ix[2010-01-01':'2010-12-31']
列切
选择特定的列来进行比较
print df['GOOG']
print df[['IBM','GLD']]
里面需要一个列表组合切
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,:]
这个时候,我们可以轻易地看得出,在用量纲上不同股票的表现。