码迷,mamicode.com
首页 > 编程语言 > 详细

numpy:数组的运算与广播机制

时间:2019-11-11 14:22:52      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:div   int   条件   multi   数组   time   src   pre   type   

  先将模块导入到文件中

import numpy as np

  创建两个数组

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

1、数组的运算

(1)四则运算

print("数组相加:\n", arr1 + arr2) # 对应位置元素相加
print("数组相减:\n", arr1 - arr2) # 对应位置元素相减
print("数组相乘:\n", arr1 * arr2)  # 对应位置元素相乘
print("数组相乘:\n", np.multiply(arr1, arr2))  # 对应位置元素相乘
print("数组相乘:\n", type(np.multiply(arr1, arr2)))  # 对应位置元素相乘 ,返回数组
print("矩阵对应位置元素相乘:\n", type(np.multiply(np.mat(arr1), np.mat(arr2))))  # 返回矩阵
print("数组相除:\n", arr1 / arr2) # 对应位置元素相除
print("数组相除:\n", arr2 / arr1) # 对应位置元素相除,注意:0不能做除数
print("数组相幂:\n", arr1 ** arr2)  # 对应位置求幂

(2)比较运算

# 返回的是对应位置的比较结果
print(" arr1 > arr2 :\n", arr1 > arr2)
print(" arr1 < arr2 :\n", arr1 < arr2)
print(" arr1 == arr2 :\n", arr1 == arr2)
print(" arr1 != arr2 :\n", 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()只要一个满足条件,返回Trueand——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)

  arr1arr3进行相加运算

print("数组相加的结果:\n", arr1 + arr3)

  数组相加的结果:

技术图片

numpy:数组的运算与广播机制

标签:div   int   条件   multi   数组   time   src   pre   type   

原文地址:https://www.cnblogs.com/xmcwm/p/11834513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!