Numpy 中的数组:
Numpy 中的数组的使用跟 Python 中的列表非常类似。他们之间的区别如下:
- 一个列表中可以存储多种数据类型。比如 a = [1, ‘a’]是允许的,而数组只能存储同种数据类型。
- 数组可以是多维的,当多维数组中所有的数据都是数值类型的时候,相当于线性代数中的矩阵,是可以进行相互间的运算的。
import numpy as np
# Python的列表可以存储多种数据类型 numpy数组只能存在一种数据类型,不能出现多种
a = [1,2,3,'4']
a
out: [1, 2, 3, '4']
# numpy中的数组的数据类型一定全部一致。
b = np.array([4,5,6.0])
b
out: array([4, 5, 6])
创建数组的四种方式
根据Python中的列表生成:
import numpy as np
a1 = np.array([1,2,3,4])
print(a1)
print(type(a1))
[1 2 3 4]
<class 'numpy.ndarray'>
使用np.range 生成,np.arange的用法类似于Python中的range:
import numpy as np
# 从2开始不包括21 步进2
a2 = np.arange(2,21,2)
print(a2)
out: [ 2 4 6 8 10 12 14 16 18 20]
使用 np.random 生成随机数的数组:
# np.random.random来创建一个N行N列的数组,其中里面的值是0-1之间的随机数
c = np.random.random((2,2))
c
array([[0.61377625, 0.23174916],
[0.98162163, 0.0776171 ]])
# 0-9之间4行4列的随机数 size控制范围
d = np.random.randint(0,9,size=(4,4))
d
array([[2, 1, 3, 0],
[3, 8, 8, 4],
[2, 4, 8, 7],
[6, 3, 0, 7]])
使用函数生成特殊的数组:
# 4.1: zeros #三行三列 全是0的数组
array_zeros = np.zeros((3,3))
array_zeros
out: array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
# 4.2: 四行四列全是1的数组
array_ones = np.ones((4,4))
array_ones
out: array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
# 4.3 full的用法 生成两行三列全是9
array_full = np.full((2,3),9)
array_full
out: array([[9, 9, 9],
[9, 9, 9]])
# 4.4 对称数组
array_eye = np.eye(4)
array_eye
out: array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])