1、创建numpy数组

概要

图像(Image)由称为 像素 (Pixel)的较小成分组成。 视频(Video)由多个 (Frame)组成,每个帧都不过是一幅图像。

目标

我们将获得一些使用各种 NumPy 函数的实际经验,这些函数用于创建 NumPy 数组并获取它们的形状。我们将使用 NumPy 的 0、1 和 rand 函数来创建数组。我们还将查看它们的数据类型和形状。

内容

来看看创建 NumPy 数组的四种方法:

  • 全 0 填充数组:np.zeros
  • 全 1 填充数组:np.ones
  • 随机数填充数组:np.random.rand
  • 指定值填充数组:np.array

函数有两个重要的参数:

  • 数组的形状。对于一个二维数组,这就是(行数,列数)。
  • 元素的数据类型。默认情况下,NumPy 使用 浮点数 作为其数据类型。对于图像,我们将使用不带正负号的 8 位整数(unsigned 8-bit integers)np.uint8。这背后的原因是 unsigned 8-bit integers 的范围是 0 到 255,这与像素值的范围相同。

譬如:我们要创建一个大小是 4x3 的全 0 填充数组,我们可以通过使用 np.zeros(4,3) 来实现。类似地,如果我们想创建一个全 1 填充的 4x3 数组,我们可以使用 np.ones(4,3)

有了 NumPy 数组之后,就可以使用 npArray.shape 查找数组的形状,其中 npArray是 NumPy 数组的名称。

import numpy as np # 导入NumPy模块

# 创建一个5行6列的2D NumPy数组,用零填充
npArray = np.zeros((5,6)) 

print(npArray) # 输出刚刚创建的数组

'''
[[0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0.]]
'''

print(npArray.dtype) # 输出数组元素的数据类型
# float64

print(npArray.shape) # 输出数组的形状
# (5, 6)


# 输出数组中的行数
print("数组中的行数(row) = {}".format(npArray.shape[0]))       
# 输出数组中的列数
print("数组中的列数(columns) = {}".format(npArray.shape[1]))    
'''
数组中的行数(row) = 5
数组中的列数(columns) = 6
'''

创建一个 5 行 6 列全 0 填充的数组

现在,我们将使用前面看到的其他命令来创建大小相同的数组,即(5,6),并且指定数据类型(np.uint8)。 让我们创建一个全 10填充的数组。

# 创建一个全1填充的数组,形状大小为(5,6),数据类型为(np.uint8)
npArray = np.ones((5,6), dtype=np.uint8)  

print(npArray) # 输出刚刚创建的数组
'''
[[0 0 0 0 0 0]
 [0 0 0 0 0 0]
 [0 0 0 0 0 0]
 [0 0 0 0 0 0]
 [0 0 0 0 0 0]]
'''

print(npArray.dtype) # 输出数组元素的数据类型
# uint8

print(npArray.shape) # 输出数组的形状
# (5, 6)


# 输出数组中的行数
print("数组中的行数(row) = {}".format(npArray.shape[0]))       
# 输出数组中的列数
print("数组中的列数(columns) = {}".format(npArray.shape[1]))    
'''
数组中的行数(row) = 5
数组中的列数(columns) = 6
'''

创建随机数填充数组

我们将创建一个用随机数填充的数组。 请注意,在构建由随机数填充的数组时,我们无法指定数据类型。

# 创建一个随机数填充的数组,形状大小同样是(5,6)
npArray = np.random.rand(5,6)  

print(npArray) # 输出刚刚创建的数组

'''
[[0.76493029 0.4244641  0.96668388 0.87860886 0.00654919 0.46697776]
 [0.20844501 0.40487349 0.51814253 0.06393495 0.21362829 0.64340518]
 [0.8480972  0.65643116 0.08282768 0.09566009 0.90510305 0.74211234]
 [0.64052005 0.85885759 0.48681204 0.73636393 0.65345601 0.2980164 ]
 [0.37037381 0.28148836 0.15755969 0.32690712 0.56888984 0.16034325]]
'''

创建指定值填充数组

# 创建指定值填充数组
npArray = np.array([[1,2,3,4,5,6],
                   [7,8,9,10,11,12],
                   [13,14,15,16,17,18],
                   [19,20,21,22,23,24],
                   [25,26,27,28,29,30]],
                  dtype=np.uint8)

print(npArray) # 输出刚刚创建的数组

'''
[[ 1  2  3  4  5  6]
 [ 7  8  9 10 11 12]
 [13 14 15 16 17 18]
 [19 20 21 22 23 24]
 [25 26 27 28 29 30]]
'''


小结

我们看到了如何使用不同的函数创建 NumPy 数组,如何指定其数据类型以及如何显示其形状。

猜你喜欢

转载自blog.csdn.net/m0_53328738/article/details/127531430