我有一个类似这样的numpy二进制数组:
Array A = [1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0]
我想要计算每个1左侧的0的数量,并将其返回到另一个数组中。对于这个例子,返回的数组应该像这样:
nb_1s = [0, 0, 1, 2, 2, 5]
这个数组的前两个数字没有左边的0,因此它们是0等等...
我知道首先我必须用我的数组中的1的数量初始化一个数组:
def give_zeros(binary_array):
binary_array = np.asarray(binary_array)
nb_zeros = np.zeros(binary_array.sum())
return nb_zeros
但是我不确定如何计算零的数量。我应该使用'nditer'在循环中迭代吗?这似乎不太高效,因为我将不得不在非常大的数组上运行此函数。
你有什么想法吗? 谢谢。
[0, 0, 1, 1, 0, 3]
吗? - Divakar