numpy是由c语言编写的,运行速度比python 循环快很多
在数据处理的过程中,遇到使用 python for循环实现一些向量化,矩阵化操作的时候,要优先考虑用numpy
numpy数组的创建
1 从列表开始创建
x=np.array([1,1,2,3,4,5])
print(x)
print(type(x))
print(x.shape)
[1 1 2 3 4 5]
<class 'numpy.ndarray'>
(6,)
设置数组的数据类型
x=np.array([1,1,2,3,4,5],dtype="float32")
print(x)
print(type(x[0]))
[1. 1. 2. 3. 4. 5.]
<class 'numpy.float32'>
创建二维数组
x=np.array([[1,2,3],[1,2,3],[1,2,3]])
print(x)
print(x.shape)
[[1 2 3]
[1 2 3]
[1 2 3]]
(3, 3)
从头创建数组
很多时候我们要从无到有初始化一个数组
1 创建长度为5的数组,值都为0
np.zeros(5,dtype=int)
array([0, 0, 0, 0, 0])
2 创建一个2*4 的浮点型数组,值都为1
np.ones((2,4),dtype=float)
array([[1., 1., 1., 1.],
[1., 1., 1., 1.]])
3 创建一个3*5 的数组,值都为8.8
np.full((3,5),8.8)
array([[8.8, 8.8, 8.8, 8.8, 8.8],
[8.8, 8.8, 8.8, 8.8, 8.8],
[8.8, 8.8, 8.8, 8.8, 8.8]])
4 创建一个3*3 的单位矩阵
np.eye(3)
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0.,