我希望能够在另一个一维numpy数组(
考虑以下示例:
arr2
)中找到给定一维numpy数组(arr1
)元素的频率。数组arr1
不包含重复元素,同时,arr1
中的所有元素都是arr2
唯一元素的一部分。考虑以下示例:
arr1 = np.array([1,2,6])
arr2 = np.array([2, 3, 6, 1, 2, 1, 2, 0, 2, 0])
目前,我正在使用以下内容:
freq = np.zeros( len(arr1) )
for i in range( len(arr1) ):
mark = np.where( arr2==arr1[i] )
freq[i] = len(mark[0])
print freq
>>[2, 4, 1]
上述方法给了我正确的答案。但是,我想知道是否有比我现在在使用的更好/更有效的方法。
arr1
已经排序。 - galah92arr1
已经排序。 - Siddharth Satpathyarr1 = np.array([1,2,6])
更改为arr1 = np.array([1,2,3])
时,我遇到了一个错误(IndexError: index 3 is out of bounds for axis 1 with size 3
)。我想知道是否有什么我漏掉的东西。 - Siddharth Satpathy