【发布时间】:2019-04-02 22:11:02
【问题描述】:
给定以下数组:
jump = array([[False, False, True, False, False, True]])
有什么优雅的方法可以将此数组映射到每次遇到“真”时增加 +1 的数值数组? 像这样:
[0,0,1,1,1,2].
这确实有效:
cat = np.zeros([6,])
it = 0
for i in range(0,np.shape(jumps)[0]):
if jumps[i] == True:
it = it + 1
cat[i] = it
但是,这种方法使用了一个众所周知的 for 循环,它比(例如)矩阵计算慢。有没有办法在没有 for 循环的情况下应用此功能,即以更优雅的方式?
【问题讨论】: