第一种
np矩阵可以直接与标量运算
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
>>> import numpy as np
>>>arr1 = np.arange( 12 ).reshape([ 2 , 2 , 3 ])
>>>arr1
array([[[ 0 , 1 , 2 ],
[ 3 , 4 , 5 ]],
[[ 6 , 7 , 8 ],
[ 9 , 10 , 11 ]]])
>>>arr1 * 5
array([[[ 0 , 5 , 10 ],
[ 15 , 20 , 25 ]],
[[ 30 , 35 , 40 ],
[ 45 , 50 , 55 ]]])
>>>arr1 - 5
array([[[ - 5 , - 4 , - 3 ],
[ - 2 , - 1 , 0 ]],
[[ 1 , 2 , 3 ],
[ 4 , 5 , 6 ]]])
>>>arr1 * * 2
array([[[ 0 , 1 , 4 ],
[ 9 , 16 , 25 ]],
[[ 36 , 49 , 64 ],
[ 81 , 100 , 121 ]]])
|
第二种
若arr1是高维数组,如果arr2的维度与arr1某个子数组维度相同,那么可以相互作运算。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
PyDev console: starting.
Python 3.7 . 3 (v3. 7.3 :ef4ec6ed12, Mar 25 2019 , 16 : 52 : 21 )
[Clang 6.0 (clang - 600.0 . 57 )] on darwin
>>> import numpy as np
>>>arr1 = np.arange( 12 ).reshape([ 2 , 2 , 3 ])
>>>arr1
array([[[ 0 , 1 , 2 ],
[ 3 , 4 , 5 ]],
[[ 6 , 7 , 8 ],
[ 9 , 10 , 11 ]]])
>>>arr2 = np.array([ 2 , 2 , 2 ])
>>>arr2
array([ 2 , 2 , 2 ])
>>>arr1 * arr2
array([[[ 0 , 2 , 4 ],
[ 6 , 8 , 10 ]],
[[ 12 , 14 , 16 ],
[ 18 , 20 , 22 ]]])
>>>arr3 = np.arange( 6 ).reshape([ 2 , 3 ])
>>>arr1 * arr3
array([[[ 0 , 1 , 4 ],
[ 9 , 16 , 25 ]],
[[ 0 , 7 , 16 ],
[ 27 , 40 , 55 ]]])
|
补充:python 按不同维度求和,最值,均值
当变量维数加大时很难想象是怎样按不同维度求和的,高清楚一个,其他的应该就很清楚了,什么都不说了,上例子,例子一看便明白…..
1
2
3
|
a = range ( 27 )
a = np.array(a)
a = np.reshape(a,[ 3 , 3 , 3 ])
|
输出a的结果是:
1
2
3
4
5
6
7
8
9
|
array([[[ 0 , 1 , 2 ],
[ 3 , 4 , 5 ],
[ 6 , 7 , 8 ]],
[[ 9 , 10 , 11 ],
[ 12 , 13 , 14 ],
[ 15 , 16 , 17 ]],
[[ 18 , 19 , 20 ],
[ 21 , 22 , 23 ],
[ 24 , 25 , 26 ]]])
|
我们来看看 aa=np.sum(a,-1)的输出:
1
2
3
|
array([[ 3 , 12 , 21 ],
[ 30 , 39 , 48 ],
[ 57 , 66 , 75 ]])
|
bb=np.sum(a,2) 的输出
1
2
3
|
array([[ 3 , 12 , 21 ],
[ 30 , 39 , 48 ],
[ 57 , 66 , 75 ]])
|
cc=np.sum(a,0)的输出:
1
2
3
|
array([[ 27 , 30 , 33 ],
[ 36 , 39 , 42 ],
[ 45 , 48 , 51 ]])
|
cc=np.sum(a,1)的输出:
1
2
3
|
array([[ 9 , 12 , 15 ],
[ 36 , 39 , 42 ],
[ 63 , 66 , 69 ]])
|
第-1个维度与第2个维度是一样的,第-1个维度实际是指最后一个维度。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/weixin_43941834/article/details/99714390