numpy数组的计算

1、数组的形状

查看数组的形状:

copy
import numpy as np a = np.array([[1, 2, 3, 4, 5], [5, 6, 7, 8, 9]]) print(a.shape)

(2, 5)

二行五列

改变数组的形状:

copy
import numpy as np a = np.array([[1, 2, 3, 4, 5], [5, 6, 7, 8, 9]]) print(a.reshape(5, 2)) # 这里注意改变形状所对应的元素个数必须一样 5*2=10个

[[1 2]
[3 4]
[5 5]
[6 7]
[8 9]]

再比如:

copy
import numpy as np a = np.arange(24) print(a.reshape(2, 3, 4)) # 这里注意改变形状所对应的元素个数必须一样 2*3*4=24个

[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]

[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]

转化为一维度数组:

copy
import numpy as np a = np.arange(24) print(a.flatten())

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]

2、数组和数的计算

numpy具有广播机制,在运算过程中,加减乘除的值被广播到所有元素上

广播机制的理解:我通过广播说一句话,大家全部听见来进行我说的操作

数组与数的内容中:乘除和线代内容差不多(除法稍微注意即可),但加减略有不同

copy
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(a+1)

[[ 2 3 4]
[ 5 6 7]
[ 8 9 10]]

关于数组与数组的加减乘除中,只需要记住:

image.png

比如:

copy
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 3*3 b = np.array([[9, 8, 7]]) # 1*3 print(a*b)

[[ 9 16 21]
[36 40 42]
[63 64 63]]

copy
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 3*3 b = np.array([[9, 8, 7], [6, 5, 4]]) # 2*3 print(a+b)

ValueError: operands could not be broadcast together with shapes (3,3) (2,3)

3、轴

了解即可

在numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2, 3)),有0,1,2轴

image.png

image.png

posted @   我在吃大西瓜呢  阅读(85)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示
🚀