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个维度实际是指最后一个维度。

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

相关文章

  • Python机器学习应用之基于LightGBM的分类预测篇解读

    Python机器学习应用之基于LightGBM的分类预测篇解读

    这篇文章我们继续学习一下GBDT模型的另一个进化版本:LightGBM,LigthGBM是boosting集合模型中的新进成员,由微软提供,它和XGBoost一样是对GBDT的高效实现,原理上它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树
    2022-01-01
  • Python中强大的命令行库click入门教程

    Python中强大的命令行库click入门教程

    click是Python的一个命令行工具,极其好用。不信?一试便知。下面这篇文章主要给大家介绍了Python中强大的命令行库click,需要的朋友可以参考学习,下面来一起看看吧。
    2016-12-12
  • 中秋送礼分配不均这款python刮刮卡完美解决问题

    中秋送礼分配不均这款python刮刮卡完美解决问题

    这篇文章主要介绍了用Python实现一个抽奖刮刮卡来解决给小朋友的礼物不均,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2021-09-09
  • 在windows下Python打印彩色字体的方法

    在windows下Python打印彩色字体的方法

    这篇文章主要介绍了Python在windows下打印彩色字体的方法;具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧
    2018-05-05
  • Pytest测试报告工具Allure用法介绍

    Pytest测试报告工具Allure用法介绍

    这篇文章介绍了Pytest测试报告工具Allure的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Python中用memcached来减少数据库查询次数的教程

    Python中用memcached来减少数据库查询次数的教程

    这篇文章主要介绍了Python中用memcached来减少数据库查询次数的教程,memcached是一种分布式的内存缓存工具,使用后可以减少对硬盘的I/O次数,需要的朋友可以参考下
    2015-04-04
  • Python pygorithm模块用法示例【常见算法测试】

    Python pygorithm模块用法示例【常见算法测试】

    这篇文章主要介绍了Python pygorithm模块用法,结合实例形式分析了pygorithm模块的功能、安装及针对常见算法的相关使用操作技巧,需要的朋友可以参考下
    2018-08-08
  • 详解Django的CSRF认证实现

    详解Django的CSRF认证实现

    这篇文章主要介绍了详解Django的CSRF认证实现,详细的介绍了csrf原理和实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Python实现生成带logo背景图的二维码

    Python实现生成带logo背景图的二维码

    这篇文章主要为大家详细介绍了如何利用Python实现生成带logo背景图的二维码(静态和动态图),文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-05-05
  • centos 自动运行python脚本和配置 Python 定时任务

    centos 自动运行python脚本和配置 Python 定时任务

    这篇文章主要介绍了centos 自动运行python脚本和配置 Python 定时任务,文章内容介绍详细,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03

最新评论