AttributeError: 'numpy.ndarray' object has no attribute 'count'

1,631 阅读1分钟

首先要知道list和np.array是不同的, 所以使用的方法也是不同的. 如果对一个np,array使用list的方法就会报错.

import numpy as np

# list
test = [1,2,3,4,5,6,7,8,9,0,1,1,2,2,3,3,4,4,5,5,6,6,0,1]

# 输出数组中出现最多次数的元素, 以及它出现的次数
a = max(test,key=test .count)
c = test.count(a)
print("出现最多次数的元素, 以及它出现的次数分别为:",a,c)


# numpy.array
test2 = np.array([1,2,5,9,9,9,3])
d = np.argmax(np.bincount(test2))
print("出现最多的元素是:",d)
n=0
for i in test2:
    if i == d:
        n +=1
print("该元素出现的次数是",n)

执行结果:

在这里插入图片描述

bincount() 的用法如下图: 在这里插入图片描述 它返回的是0–序列最大值在这个array中出现的次数。 例如第一个0,在array中没有出现,就是0。 1-3都出现了1次,所以是1。 9出现了3次,所以返回的最后一个位置就是9出现的次数-----9。

更多np.array的方法可以参考: numpy求array中出现次数最多的元素及其下标