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

 更新时间:2021年03月16日 10:03:43   作者:疯格0818  
这篇文章主要介绍了python 将numpy维度不同的数组相加相乘操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

第一种

np矩阵可以直接与标量运算

>>>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某个子数组维度相同,那么可以相互作运算。

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 按不同维度求和,最值,均值

当变量维数加大时很难想象是怎样按不同维度求和的,高清楚一个,其他的应该就很清楚了,什么都不说了,上例子,例子一看便明白…..

a=range(27)
a=np.array(a)
a=np.reshape(a,[3,3,3])

输出a的结果是:

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)的输出:

array([[ 3, 12, 21],
[30, 39, 48],
[57, 66, 75]])

bb=np.sum(a,2) 的输出

array([[ 3, 12, 21],
  [30, 39, 48],
  [57, 66, 75]])

cc=np.sum(a,0)的输出:

array([[27, 30, 33],
  [36, 39, 42],
  [45, 48, 51]])

cc=np.sum(a,1)的输出:

array([[ 9, 12, 15],
  [36, 39, 42],
  [63, 66, 69]])

第-1个维度与第2个维度是一样的,第-1个维度实际是指最后一个维度。

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

相关文章

  • error conda:ProxyError:Conda cannot proceed due to an error in your proxy configuration解决

    error conda:ProxyError:Conda cannot proceed due to an 

    这篇文章主要为大家介绍了error conda:ProxyError:Conda cannot proceed due to an error in your proxy configuration解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 这3个Python实时可视化工具包来帮你了解性能瓶颈

    这3个Python实时可视化工具包来帮你了解性能瓶颈

    由于Python的动态性和多功能性,它比其他语言的速度要慢.有时复杂的计算或算法需要大量时间才能在Python中执行.因此需要跟踪代码的执行流,深入了解性能瓶颈,需要的朋友可以参考下
    2021-06-06
  • Python数据集切分实例

    Python数据集切分实例

    今天小编就为大家分享一篇Python数据集切分实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • pycharm 添加解释器的方法步骤

    pycharm 添加解释器的方法步骤

    这篇文章主要介绍了pycharm 添加解释器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python3基础之集合set详解

    python3基础之集合set详解

    大家好,本篇文章主要讲的是python3基础之集合set详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • python中的多线程实例教程

    python中的多线程实例教程

    这篇文章主要介绍了python中的多线程用法,包括线程的创建、同步等核心问题,具有很好的参考借鉴价值,需要的朋友可以参考下
    2014-08-08
  • 利用Python连接Oracle数据库的基本操作指南

    利用Python连接Oracle数据库的基本操作指南

    由于之前的在职的公司没有机会接触到Oralce数据库,所以就没有用python连接过Oralce,之前大多集中在连接mysql和sql server,最近在做一下web自动化的工作,所以简单的记录一下,下面这篇文章主要给大家介绍了关于利用Python连接Oracle数据库的基本操作,需要的朋友可以参考下
    2022-06-06
  • Python搭建代理IP池实现接口设置与整体调度

    Python搭建代理IP池实现接口设置与整体调度

    这篇文章主要介绍了Python搭建代理IP池实现接口设置与整体调度,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python接口自动化之使用token传入到header消息头中

    python接口自动化之使用token传入到header消息头中

    这篇文章主要介绍了python接口自动化之使用token传入到header消息头中问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python3 列表list合并的4种方法

    Python3 列表list合并的4种方法

    这篇文章主要介绍了Python3 列表list合并的4种方法,需要的朋友可以参考下
    2021-04-04

最新评论