Python错误:布尔索引数组应该有1维

时间:2015-08-08 05:15:18

标签: numpy

这是我正在尝试做的事情

我有一个数据矩阵,其中行代表不同的日期,列代表不同的股票。矩阵基本上是特定数量股票的股票价格数据。

我有一个代表股票权重的向量x。

    array1 = np.array(closePrice[a,:])
    array2 = np.array(closePrice[b,:]) 
    select = ((array1 > array2))
    x[select] = x[select]+1  # This line gives error boolean index should have one dimension. 

我不明白为什么select不是一维布尔值,其长度与列数相同。

1 个答案:

答案 0 :(得分:0)

好的,这件事有效,不太清楚为什么以前没有

array1 = array(closePrice[di-delay-Min,:])
array2 = array(closePrice[di-delay-Max,:])    
select[:] =  (array1[:] > array2[:])   
x[select[:]] = x[select[:]] + 1