gpt4 book ai didi

python 将numpy维度不同的数组相加相乘操作

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python 将numpy维度不同的数组相加相乘操作由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

第一种

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个维度实际是指最后一个维度.

python 将numpy维度不同的数组相加相乘操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我。如有错误或未考虑完全的地方,望不吝赐教.

原文链接:https://blog.csdn.net/weixin_43941834/article/details/99714390 。

最后此篇关于python 将numpy维度不同的数组相加相乘操作的文章就讲到这里了,如果你想了解更多关于python 将numpy维度不同的数组相加相乘操作的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com