假定所有操作都事先导入numpy库
import numpy as np
1、构造矩阵
①构造一个零阵
np.zeros((3,4)) #构造的零阵其中的值默认为folat类型
结果为:
array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]])
②构造一个初始化为1的三维矩阵,其中的值为int类型
np.ones((2,3,4), dtype=np.int32)
结果为:
array([[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]])
③构造一个矩阵,起始值为10,终止值小于30,每隔5个值创建一个矩阵元素
np.arange(10, 30, 5)
结果为:array([10, 15, 20, 25])
④构造一个矩阵,起始值为0,终止值小于2,每隔0.3创建一个矩阵元素
np.arange(0, 2, 0.3)
结果为:array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])
⑤构造一个随机初始化的矩阵(每个元素的值介于-1到+1之间)
np.random.random((3,4))
结果为:
array([[ 0.63569183, 0.47289918, 0.51768133, 0.79131544], [ 0.87953741, 0.47233199, 0.76741983, 0.3156414 ], [ 0.93806506, 0.11797016, 0.90171483, 0.52385309]])
⑥构造一个有100个元素的矩阵,起始值是0,终止值为2π
from numpy import pi np.linspace(0, 2*pi, 100)
结果为:
array([ 0. , 0.06346652, 0.12693304, 0.19039955, 0.25386607, 0.31733259, 0.38079911, 0.44426563, 0.50773215, 0.57119866, 0.63466518, 0.6981317 , 0.76159822, 0.82506474, 0.88853126, 0.95199777, 1.01546429, 1.07893081, 1.14239733, 1.20586385, 1.26933037, 1.33279688, 1.3962634 , 1.45972992, 1.52319644, 1.58666296, 1.65012947, 1.71359599, 1.77706251, 1.84052903, 1.90399555, 1.96746207, 2.03092858, 2.0943951 , 2.15786162, 2.22132814, 2.28479466, 2.34826118, 2.41172769, 2.47519421, 2.53866073, 2.60212725, 2.66559377, 2.72906028, 2.7925268 , 2.85599332, 2.91945984, 2.98292636, 3.04639288, 3.10985939, 3.17332591, 3.23679243, 3.30025895, 3.36372547, 3.42719199, 3.4906585 , 3.55412502, 3.61759154, 3.68105806, 3.74452458, 3.8079911 , 3.87145761, 3.93492413, 3.99839065, 4.06185717, 4.12532369, 4.1887902 , 4.25225672, 4.31572324, 4.37918976, 4.44265628, 4.5061228 , 4.56958931, 4.63305583, 4.69652235, 4.75998887, 4.82345539, 4.88692191, 4.95038842, 5.01385494, 5.07732146, 5.14078798, 5.2042545 , 5.26772102, 5.33118753, 5.39465405, 5.45812057, 5.52158709, 5.58505361, 5.64852012, 5.71198664, 5.77545316, 5.83891968, 5.9023862 , 5.96585272, 6.02931923, 6.09278575, 6.15625227, 6.21971879, 6.28318531])
2、numpy的运算
①numpy的加减运算
a = np.array([20, 30, 40, 50]) b = np.arange(4) print(a) print(b) c = a + b d = a - b print(c) print(d) #结论:对应位置的元素相加减
结果为:
[20 30 40 50] [0 1 2 3] [20 31 42 53] [20 29 38 47]
②numpy的乘除运算
b = np.arange(4) print(b ** 2) #推广结论:进行乘除时对每个元素执行相同的运算
结果为:[0 1 4 9]
③比较
a = np.array([20, 30, 40, 50]) print(a<35) #结论:每个元素都进行比较
结果为:[ True True False False]
3、矩阵的运算
A = np.array([[1, 1], [0, 1]]) B = np.array([[2, 0], [3, 4]]) print(A) print('--------') print(B) print('--------') #求内积 print(A * B) #对应位置元素相乘 print('--------') #矩阵乘法 print(A.dot(B)) #等同于print(np.dot(A, B)) print('--------')
结果为:
[[1 1] [0 1]] -------- [[2 0] [3 4]] -------- [[2 0] [0 4]] -------- [[5 4] [3 4]] -------- [[5 4] [3 4]]