统计一个numpy数组里面数字1的个数
时间: 2024-03-14 14:44:17 浏览: 37
可以使用numpy库中的count_nonzero函数来统计一个numpy数组中数字1的个数,示例如下:
```python
import numpy as np
arr = np.array([1, 2, 1, 3, 4, 1])
count = np.count_nonzero(arr == 1)
print(count) # 输出3
```
在这个示例中,我们首先创建了一个numpy数组arr,然后使用`arr == 1`得到一个布尔型的数组,表示arr中每个元素是否等于1。最后,我们使用`np.count_nonzero`函数统计了这个布尔型数组中True的个数,也就是数组中数字1的个数。
相关问题
一个numpy数组,统计里面每个数的次数
可以使用numpy中的unique函数来统计数组中每个数的出现次数,示例如下:
```python
import numpy as np
arr = np.array([1, 2, 3, 2, 1, 3, 4, 5, 5])
unique, counts = np.unique(arr, return_counts=True)
print(np.asarray((unique, counts)).T)
```
输出结果为:
```
array([[1, 2],
[2, 2],
[3, 2],
[4, 1],
[5, 2]])
```
其中unique为数组中的不重复元素,counts为每个元素出现的次数。np.asarray((unique, counts)).T将unique和counts转置后合并成一个二维数组输出,每一行表示一个元素及其出现次数。
如何将一个numpy数组赋值给另一个
numpy数组?
可以使用赋值操作符来将一个numpy数组赋值给另一个numpy数组,例如:
```python
import numpy as np
# 创建一个numpy数组
arr1 = np.array([1, 2, 3])
# 将arr1赋值给arr2
arr2 = arr1
# 打印arr2
print(arr2)
```
输出结果为:
```
[1 2 3]
```
这样就将arr1的值赋值给了arr2。注意,这个赋值操作并不会创建一个新的numpy数组,而是将arr2指向了arr1所指向的同一个数组。如果想要创建一个新的numpy数组并复制arr1中的值,可以使用numpy的`copy`函数,例如:
```python
import numpy as np
# 创建一个numpy数组
arr1 = np.array([1, 2, 3])
# 将arr1的值复制给arr2
arr2 = np.copy(arr1)
# 修改arr1中的值
arr1[0] = 0
# 打印arr2
print(arr2)
```
输出结果为:
```
[1 2 3]
```
可以看到,arr2的值并没有跟着arr1的修改而改变,因为它们是两个不同的numpy数组。