2. numpy的矩阵计算
2.1 一维数组与一维数组
>>> arr1 = np.array([1,2,3,4,5])
[1 2 3 4 5]
>>> arr2 = np.array([10,20,30,40,50])
[10 20 30 40 50]
# 一维数组之间相加
>>> print(arr1+arr2)
[11 22 33 44 55]
# 一维数组之间相乘
>>> print(arr1*arr2)
[10 40 90 160 250]
注意点:
- 一维数组的元素个数必须是相同的
- 按照数组对应的下标来进行算术运算,返回一个新的数组
2.2 一维数组与多位数组
>>> arr2 = np.array([10,20,30,40,50,60,70,80,90,100])
>>> arr4 = arr2.reshape((2,5))
>>> print(arr4)
[[ 10 20 30 40 50]
[ 60 70 80 90 100]]
>>> print(arr4.shape)
(2, 5)
>>> arr3 = np.array([10,20,30,40,50])
>>> print(arr3)
[10 20 30 40 50]
>>> print(arr3.shape)
(5,)
# 多维数组与一维数组相乘
>>> print(arr4*arr3)
[[ 100 400 900 1600 2500]
[ 600 1400 2400 3600 5000]]
# 多维数组与一维数组相加
>>> print(arr1)
[1 2 3 4 5]
>>> print(arr3)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
>>> print(arr1+arr3)
[[ 1 3 5 7 9]
[ 6 8 10 12 14]
[11 13 15 17 19]]
>>> arr6 = np.arange(15).reshape(1,3,5)
>>> print(arr6)
[[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]]
>>> print(arr1)
[1 2 3 4 5]
注意点:元素的个数必须相同
2.3 多维数组与多维数组
>>> arr3 = np.arange(15).reshape(3,5)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
>>> arr4 = np.arange(15).reshape(3,5)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
>>> print(arr3+arr4)
[[ 0 2 4 6 8]
[10 12 14 16 18]
[20 22 24 26 28]]
注意点:数组的维度大小必须一致
2.4 数组与单独的一个数据
>>> arr1 = np.array([1,2,3,4,5])
[1 2 3 4 5]
# 一维数组与常量相加
>>> print(arr1+100)
[101 102 103 104 105]