numpy快速入门(二)

在深度学习的实现中,经常出现数组和矩阵的计算。NumPy的数组类(numpy.array)中提供了很多便捷的方法
1.导入numpy库

In [21]:
import numpy as np

2.生成numpy数组。
要生成numpy数组需要使用np.array()方法。np.array()可以接收python列表作为参数,生成numpy数组(numpy.ndarray)。

In [22]:
x = np.array([1,2,3])
print('x的值是:',x)
print('x的类型是:',type(x))
x的值是: [1 2 3]
x的类型是: <class 'numpy.ndarray'>

3.Numpy的算术运算

In [23]:
x1 = np.array([1,2,3])
y1 = np.array([4,5,6])
print('加法:', x1 + y1)
print('减法:', x1 - y1)
print('乘法:', x1 * y1)
print('除法:', x1 / y1)
加法: [5 7 9]
减法: [-3 -3 -3]
乘法: [ 4 10 18]
除法: [0.25 0.4  0.5 ]

4.生成多维数组

In [24]:
x2 = np.array([[1,2],[3,4]])
print('x2的值是:',x2)
print('x2的类型是:',type(x2))
print('x2的形状是:',x2.shape)
print('x2的数据类型是:',x2.dtype)
x2的值是: [[1 2]
 [3 4]]
x2的类型是: <class 'numpy.ndarray'>
x2的形状是: (2, 2)
x2的数据类型是: int32

5.多维数组的算术运算

In [25]:
y2 = np.array([[5,6],[7,8]])
print('y2的值是:',y2)
print('二维加法:',x2+y2)
print('二维乘法:',x2*y2)
y2的值是: [[5 6]
 [7 8]]
二维加法: [[ 6  8]
 [10 12]]
二维乘法: [[ 5 12]
 [21 32]]

NumPy数组(np.array)可以生成N维数组,即可以生成一维数组、二维数组、三维数组等任意维数的数组。数学上将一维数组称为向量,将二维数组称为矩阵。另外,可以将一般化之后的向量或矩阵等统称为张量(tensor)。
6.广播
形状不同的数组间也可以进行运算,这样的运算能力称为广播。因为NumPy有广播功能,所以不同形状的数组之间也可以顺利地进行运算。

In [26]:
x3 = np.array([1,2,3])
print('x3扩大10倍:',x3*10)
y3 = np.array([[1,2,3],[4,5,6]])
print('y3扩大10倍:',y3*10)
x3扩大10倍: [10 20 30]
y3扩大10倍: [[10 20 30]
 [40 50 60]]