# 算术运算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a ** 2)
[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[0.25 0.4 0.5 ]
[1 4 9]
# python 普通数组的拼接
c = [1, 2, 3]
d = [4, 5, 6]
print(c + d)
[1, 2, 3, 4, 5, 6]
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[4, 5, 6], [7, 8, 9]])
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a ** 2)
[[ 5 7 9]
[11 13 15]]
[[-3 -3 -3]
[-3 -3 -3]]
[[ 4 10 18]
[28 40 54]]
[[0.25 0.4 0.5 ]
[0.57142857 0.625 0.66666667]]
[[ 1 4 9]
[16 25 36]]
# 数组与标量的算术运算
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a + 3)
print(a * 3)
[[4 5 6]
[7 8 9]]
[[ 3 6 9]
[12 15 18]]
# 广播机制:1. 获取形状,2. 判断是否可广播(行列要相对应)
a = np.array([1, 2, 3]) # 1行3列
b = np.array([[4], [5], [6]]) # 3行1列
"""
a
1 2 3
1 2 3
1 2 3
b
4 4 4
5 5 5
6 6 6
"""
print(a + b)
[[5 6 7]
[6 7 8]
[7 8 9]]
# 矩阵运算
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.array([[4, 5, 6], [7, 8, 9], [10, 11, 12]])
print(a + b)
"""
矩阵乘法
(1, 1) = a(1, 1) * b(1, 1) + a(1, 2) * b (2, 1) + a(1, 3) * b(3, 1)
"""
print(a @ b)
[[ 5 7 9]
[11 13 15]
[17 19 21]]
[[ 48 54 60]
[111 126 141]
[174 198 222]]
评论 (0)