【问题标题】:Count number array python [duplicate]计数数组python [重复]
【发布时间】:2016-05-17 07:12:21
【问题描述】:

这是python中的一个数组:

T = np.array([[1,1,2],[2,1,1],[3,3,3]])

print np.where(T==1)

我想找到每个元素的出现次数。我尝试使用np.where,然后使用len(np.where)。但是np.where 的输出不允许使用len() 函数。

【问题讨论】:

  • 这些答案对您的问题有用吗?

标签: python arrays count


【解决方案1】:

使用numpy.unique,它返回数组中的唯一值和出现次数。该方法有一个名为return_counts 的标志,默认值为false,如下所示:

uniqueVals, count = numpy.unique(T, return_counts = true)

【讨论】:

  • numpy.unique 可以在没有reshape 的情况下工作,但是您传递什么参数来获取出现次数?
  • @Akavall return_counts = true
  • 啊。好的!也许你应该在你的答案中包括这一点。
【解决方案2】:

您可以执行以下操作以显示数组T中元素1的重复次数:

>>> (T == 1).sum()
4
>>> (T == 2).sum()
2

【讨论】:

    【解决方案3】:

    如果数组中整数的范围很小,您可以使用np.bincount

    In [25]: T = np.array([[1,1,2],[2,1,1],[3,3,3]])
    
    In [26]: np.bincount(T.reshape(-1))
    Out[26]: array([0, 4, 2, 3])  # 0 showed up 0 times
                                  # 1 showed up 4 times
                                  # 2 showed up 2 times ...   
    

    【讨论】:

      猜你喜欢
      • 2023-02-06
      • 2010-09-16
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      相关资源
      最近更新 更多