假设我有以下Numpy数组,其中只有一个连续的
1
片段:import numpy as np
x = np.array([0,0,0,0,1,1,1,0,0,0], dtype=1)
我希望找到1D质心的索引值,1D质心是指1
元素的质心。可以输入以下代码:
idx = np.where( x )[0]
idx_center_of_mass = int(0.5*(idx.max() + idx.min()))
# this would give 5
(当1的数量为偶数时,这会导致粗略的近似。) 有没有更好的方法来完成这个任务,比如一个计算效率更高的一行代码?