数组间运算| 学习笔记

简介: 快速学习数组间运算

开发者学堂课程【Python 科学计算库 NumPy 快速入门数组间运算学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/605/detail/8823


数组间运算


内容简介:

一、场景

二、数组与数的运算

三、数组与数组的运算

四、广播机制


一、场景

image.png


数据:

[[80,86],

[82,80],

[85,78],

[90,90],

[86,82],

[82,90],

[78,80],

[92,94]]


二、数组与数的运算

arr = np.array([[1, 2, 3, 2, 1, 4],[5,6, 1, 2, 3,1]])

arr+1

arr/2

#可以对比 python 列表的运算,看出区别

a=[1,2,3,4,5]

a*3


三、数组与数组的运算

arr1 = np.array([[1, 2, 3, 2, 1, 4],[5,6, 1,2, 3, 11])

arr2 = np.array([[l, 2, 3,4],[3, 4, 5,6]])

上面这个能进行运算吗,结果是不行的!


四、广播机制

执行 broadcast 的前提在于,两个 ndarray 执行的是 element-wise 的运算,Broadcast 机制的功能是为 了方便不同形状的 ndarray (numpy库的核心数据结构)进行数学运算。

当操作两个数组时,nurhpy 会逐 个比较它们的 shape (构成的元组tuple) ,只有在下述情况下,两个数组才能够进行数组与数组的运算。

●维度相等

●shape (其中相对应的-一个地方为1)

例如:

Image (3d array):256x256x3

Scale (1d array):

Result (3d array): 256 x 256 x 3A

A     (4d array):9x1x7x1

B     (3d array):  8x1x5

Result (4d array):9x8x7x5

A     (2d array): 5x4

B     (1d array):    1

Result (2d array):  5x4

A     (3d array):15x3x5

B     (3d array):15 x1x1

Result (3d array):15x3x5

如果是下面这样,则不匹配:

A    (1d array): 10

B (1d array): 12

A (2d array):   2 x1

B (3d array):  8x4x3

思考:下面两个 ndarray 是否能够进行运算?

arrl = np.array([[1, 2, 3, 2, 1, 4],[5,6,1, 2, 3,1]])

arr2 = np.array([[1], [3]])

相关文章
|
10月前
|
Python
数组运算
【5月更文挑战第6天】数组运算。
57 1
|
10月前
|
机器学习/深度学习 存储 算法
位运算是一种什么运算方式
位运算是一种什么运算方式
71 1
|
10月前
|
算法 前端开发
数组归约运算
数组归约运算
61 0
集合的运算
集合的运算
107 1
第3章 数组与矩阵——3.1 数组运算(2)
第3章 数组与矩阵——3.1 数组运算(2)
第3章 数组与矩阵——3.1 数组运算(1)
第3章 数组与矩阵——3.1 数组运算(1)
|
人工智能 算法
数组形式的整数加法
数组形式的整数加法
108 0
|
Python
LeetCode 989. 数组形式的整数加法
对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。
122 0
|
PHP 开发者
比较运算| 学习笔记
快速学习比较运算。
比较运算| 学习笔记
|
存储 PHP 开发者
赋值运算| 学习笔记
快速学习赋值运算。