python 学习笔记之numpy
文章目录
1、矩阵的转置
注意 :一维行数组的转置不能够成功,需要加上**【】**。
# 注意不带括号,所以它的转置不能够成功
x = np.array([1,2,3,4])
x.T
Out[1]: array([1, 2, 3, 4])
# 带两个括号进行转置成功
y = np.array([[1,2,3,4]])
y.T
Out[2]:
array([[1],
[2],
[3],
[4]])
2、矩阵的点积(multiply、*)、内积(np.dot())
2.1 矩阵的点积(multiply 实现)
点积进行两个矩阵进行对应元素的相乘。
# 第一个例子
a = np.array([[1,2],[3,4]])
b = np.array([5,6])
np.multiply(a,b) # 对应于行的相乘即 [[1*5,2*6],[3*5,4*6]],相当于自动的广播,自动补全一行
Out[9]:
array([[ 5, 12],
[15, 24]])
# 第二个例子
a_1 = np.array([[1,2],[3,4]])
b_1 = np.array([[5],[6]])
np.multiply(a_1,b_1) # 对应于行的相乘即:[[1*5,2*5],[3*6,4*6]]
Out[12]:
array([[ 5, 10],
[18, 24]])
2.2 矩阵的点积( “*” 实现)
a*b 的实现与 np.multiply(a,b) 一样。
2.3 矩阵的内积( np.dot())
# 示例一
m = np.array([1,2,3])
np.dot(m,m)
Out[16]: 14
# 示例二
n = np.array([[1,2,3],
[4,5,6]])
p = np.array([[1,2],
[3,4],
[5,6]])
np.dot(n,p)
Out[20]:
array([[22, 28],
[49, 64]])