Ibe*_*Ibe 7 python numpy python-2.7
我的代码工作正常,直到我将Numpy更新为1.13.1.现在我收到以下错误
IndexError: boolean index did not match indexed array along dimension 0; dimension is 5 but corresponding boolean dimension is 4
Run Code Online (Sandbox Code Playgroud)
...在这一行被抛出:
m = arr[np.diff(np.cumsum(arr) >= sum(arr) * i)]
Run Code Online (Sandbox Code Playgroud)
我似乎无法绕过它.有什么建议?
这是我的示例代码:
a = [1,2,3,4,5]
l = [0.85,0.90]
s = sorted(a, reverse = False)
arr = np.array(s)
for i in l:
m = arr[np.diff(np.cumsum(arr) >= sum(arr) * i)]
Run Code Online (Sandbox Code Playgroud)
np.diff 是一个小于data_array的元素.
输出的形状与尺寸小于n的轴相同.
我正在使用Numpy 1.11,而不是IndexError我得到的VisibleDeprecationWarning.所以我想不再容忍使用不正确的尺寸.
您需要定义所需的行为,例如从第二个元素开始,或者删除最后一个元素:
arr = np.array([1,2,3,4,5])
arr2 = arr[:-1]
m = arr2[np.diff(np.cumsum(arr) >= sum(arr))]
arr3 = arr[1:]
m = arr3[np.diff(np.cumsum(arr) >= sum(arr))]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21064 次 |
| 最近记录: |