pandas.DataFrame遍历速度会很慢,为了方便没有用其他语言写
计算当前行数据前N行的平均值,方差,标准差等
#当前行前300条数据协方差
data_speed_cv = pd.DataFrame([0] * 300)
for i in range(300, len(data)):
data_tmp = data[(data.index >= i - 300) & (data.index < i)]
speed_cv_std = std(data_tmp.speed)#标准差
speed_cv_mean = mean(data_tmp.speed)#均值
speed_cv = speed_cv_std / speed_cv_mean#协方差
data_speed_cv = data_speed_cv.append([speed_cv])
data_speed_cv = data_speed_cv.as_matrix()
data['speed_cv'] = data_speed_cv