首先要知道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中出现次数最多的元素及其下标