python中numpy数组列中特定数字的计数

python中numpy数组列中特定数字的计数,python,arrays,numpy,count,Python,Arrays,Numpy,Count,我有一个问题,可能很容易解决,但我就是找不到答案。 我想计算numpy数组列中值0、1和2的数量。我的数组有两列,我想计算第二列中的值0、1和2。我试着这样解决这个问题: for row in vergleich[:,1]: n = vergleich[:,1].count(0) o = vergleich[:,1].count(1) t = vergleich[:,1].count(2) print(n) print(

我有一个问题,可能很容易解决,但我就是找不到答案。 我想计算numpy数组列中值0、1和2的数量。我的数组有两列,我想计算第二列中的值0、1和2。我试着这样解决这个问题:

   for row in vergleich[:,1]:
       n = vergleich[:,1].count(0)
       o = vergleich[:,1].count(1)
       t = vergleich[:,1].count(2)
       print(n)
       print(o)
       print(t)
但是我得到了错误消息:AttributeError:'numpy.ndarray'对象没有属性'count'
还有什么其他方法可以解决这个问题?提前感谢:)

运行:
np.count\u非零(vergleich[:,1]==0)
,其他感兴趣的数字也一样

另一个更普遍的选择:

unique, counts = np.unique(vergleich[:,1], return_counts=True)
result = dict(zip(unique, counts))
然后,结果将包含键/值对:

  • 列中的键值
  • 值-发生的次数
所以,您可以查询键0、1和2的结果

还有另一个选项,但这次基于熊猫:

运行:
res=pd.value\u计数(vergleich[:,1])

结果是熊猫系列具有:

  • 索引-源系列中的值(也可以使用Numpy 1-D数组) ),
  • 值-发生的次数

您可以使用
np.count\u nonzero()
进行计数。示例:
np.count\u nonzero(a==0)
您的循环似乎不必要这是否回答了您的问题?查看链接,希望这有帮助!谢谢,我解决了:)