numpy:数组的运算与广播机制
Posted xmcwm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy:数组的运算与广播机制相关的知识,希望对你有一定的参考价值。
先将模块导入到文件中
import numpy as np
创建两个数组
arr1 = np.array([[1, 1], [3, 3]])
arr2 = np.array([[1, 2], [3, 4]])
1、数组的运算
(1)四则运算
print("数组相加: ", arr1 + arr2) # 对应位置元素相加 print("数组相减: ", arr1 - arr2) # 对应位置元素相减 print("数组相乘: ", arr1 * arr2) # 对应位置元素相乘 print("数组相乘: ", np.multiply(arr1, arr2)) # 对应位置元素相乘 print("数组相乘: ", type(np.multiply(arr1, arr2))) # 对应位置元素相乘 ,返回数组 print("矩阵对应位置元素相乘: ", type(np.multiply(np.mat(arr1), np.mat(arr2)))) # 返回矩阵 print("数组相除: ", arr1 / arr2) # 对应位置元素相除 print("数组相除: ", arr2 / arr1) # 对应位置元素相除,注意:0不能做除数 print("数组相幂: ", arr1 ** arr2) # 对应位置求幂
(2)比较运算
# 返回的是对应位置的比较结果 print(" arr1 > arr2 : ", arr1 > arr2) print(" arr1 < arr2 : ", arr1 < arr2) print(" arr1 == arr2 : ", arr1 == arr2) print(" arr1 != arr2 : ", arr1 != arr2)
比较运算——返回bool数组,比较条件成立返回True,条件不成立则返回False
(3)逻辑运算
print("any: ", np.any(arr1 == arr2)) print("any: ", np.any(arr1 > arr2)) print("all: ", np.all(arr1 == arr2)) print("all: ", np.all(arr1 <= arr2))
逻辑运算or、and,返回bool值,or——any()只要一个满足条件,返回True;and——all()只有全部满足条件,才返回True
2、数组的广播机制
创建两个数组
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) # shape (2,3) arr2 = np.array([[1, 1], [1, 1], [1, 1]]) # shape(3,2) arr3 = np.array([[1], [1]]) # shape (2,1)
对arr1和arr3进行相加运算
print("数组相加的结果: ", arr1 + arr3)
数组相加的结果:
以上是关于numpy:数组的运算与广播机制的主要内容,如果未能解决你的问题,请参考以下文章