Python numpy.bincount()

Python numpy.bincount()

在一个正整数的数组中,numpy.bincount()方法对每个元素的出现进行计数。每个bin值都是其索引的出现次数。人们还可以相应地设置bin的大小。
语法 :

numpy.bincount(arr, weights = None, min_len = 0)

参数 :

arr : [array_like, 1D]输入数组,有正数。
weights : [array_like, optional]与arr的形状相同。
min_len : 我们希望输出数组中的最小分选数

返回 :

输出数组,包含输入中bin的索引值的出现次数 – arr。
默认情况下,输出数组的长度是Arr的最大元素+1。
这里输出数组的大小为max(input_arr)+1。

代码1:在NumPy中运行bincount()

# Python Program explaining 
# working of numpy.bincount() method
  
import numpy as geek
  
# 1D array with +ve integers
array1 = [1, 6, 1, 1, 1, 2, 2]
bin = geek.bincount(array1)
print("Bincount output  : \n ", bin)
print("size of bin : ", len(bin), "\n")
  
array2 = [1, 5, 5, 5, 4, 5, 5, 2, 2, 2]
bin = geek.bincount(array2)
print("Bincount output  : \n ", bin)
print("size of bin : ", len(bin), "\n")
  
# using min_length attribute
length = 10
bin1 = geek.bincount(array2, None, length)
print("Bincount output  : \n ", bin1)
  
print("size of bin : ", len(bin1), "\n")

输出 :

Bincount output  : 
  [0 4 2 0 0 0 1]
size of bin :  7 

Bincount output  : 
  [0 1 3 0 1 5]
size of bin :  6 

Bincount output  : 
  [0 1 3 0 1 5 0 0 0 0]
size of bin :  10 


代码2:我们可以通过bincount()权重对每个元素执行加法

# Python Program explaining 
# working of numpy.bincount() method
  
import numpy as geek
  
# 1D array with +ve integers
array2 = [10, 11, 4, 6, 2, 1, 9]
array1 = [1, 3, 1, 3, 1, 2, 2]
  
# array2 : weight
bin = geek.bincount(array1, array2)
print("Summation element-wise : \n", bin)
  
#index 0 : 0
#index 1 : 10 + 4 + 2 = 16
#index 2 : 1 + 9 = 10
#index 3 : 11 + 6 = 17

输出 :

Summation element-wise : 
 [  0.  16.  10.  17.]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程