“广播机制:通过扩展实现数组运算”的版本间的差异
来自CloudWiki
(清空页面) |
|||
第1行: | 第1行: | ||
+ | == numpy数组的广播机制 == | ||
+ | *注意numpy里数组之间的运算和线性代数中的矩阵运算是不一样的 | ||
+ | *同纬度和形状的数组之间就是同位置的元素两两匹配运算的结果 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | <br>import numpy as np | ||
+ | <br>a=np.array([[ 1., 2., 1.], | ||
+ | [ 1., 2., 1.]]) | ||
+ | <br>b=np.array([[ 1., 2., 3.], | ||
+ | [ 1., 2., 3.]]) | ||
+ | <br>print(a.shape,b.shape) | ||
+ | <br>>>>(2, 3) (2, 3) | ||
+ | <br>print(a+b) | ||
+ | <br>>>>array([[ 2., 4., 4.], | ||
+ | [ 2., 4., 4.]]) | ||
+ | <br>print(a*b) | ||
+ | <br>>>>array([[ 1., 4., 3.], | ||
+ | [ 1., 4., 3.]]) | ||
+ | <br>print(a-b) | ||
+ | <br>>>>array([[ 0., 0., -2.], | ||
+ | [ 0., 0., -2.]]) | ||
+ | <br>print(a**b) | ||
+ | <br>>>>array([[ 1., 4., 1.], | ||
+ | [ 1., 4., 1.]]) |
2020年5月16日 (六) 11:26的版本
numpy数组的广播机制
- 注意numpy里数组之间的运算和线性代数中的矩阵运算是不一样的
- 同纬度和形状的数组之间就是同位置的元素两两匹配运算的结果
import numpy as np
a=np.array([[ 1., 2., 1.],
[ 1., 2., 1.]])
b=np.array([[ 1., 2., 3.],
[ 1., 2., 3.]])
print(a.shape,b.shape)
>>>(2, 3) (2, 3)
print(a+b)
>>>array([[ 2., 4., 4.],
[ 2., 4., 4.]])
print(a*b)
>>>array([[ 1., 4., 3.],
[ 1., 4., 3.]])
print(a-b)
>>>array([[ 0., 0., -2.],
[ 0., 0., -2.]])
print(a**b)
>>>array([[ 1., 4., 1.],
[ 1., 4., 1.]])