python 将numpy维度不同的数组相加相乘操作
作者:疯格0818 发布时间:2022-03-26 06:14:06
标签: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个维度实际是指最后一个维度。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/weixin_43941834/article/details/99714390


猜你喜欢
- 本文教大家调用电脑摄像头进行实时人脸+眼睛识别+微笑识别,供大家参考,具体内容如下一、调用电脑摄像头进行实时人脸+眼睛识别# 调用电脑摄像头
- 如何制作一个分页程序?确实,翻页程序可以相互借鉴,但具体到每一需求,还是有较大差别的。代码入下,供参考:<%language=&quo
- 在 Python 整型对象所存储的位置是不同的, 有一些是一直存储在某个存储里面, 而其它的, 则在使用时开辟出空间.说这句话的理由, 可以
- 本文实例讲述了Python文件及目录操作的方法。分享给大家供大家参考。具体分析如下:在python中对文件及目录的操作一般涉及多os模块,o
- pytorch的dataloader会将数据传到GPU上,这个过程GPU的mem占用会逐渐增加,为了避免GPUmen被无用的数据占用,可以在
- 摘要:本篇文章介绍了ORACLE数据库的新特性—分区管理,并用例子说明使用方法。 关键词:ORACLE,分区 一、 分区概述: 为了简化数据
- 我们知道,在面向对象编程里面, 继承 是一个很重要的概念。子类可以使用父类的方法和属性。例如下面这段代码:class Father: &nb
- 最近因为数学建模3天速成Python,然后做了一道网络的题,要画网络图。在网上找了一些,发现都是一些很基础的丑陋红点图,并且关于网络的一些算
- 本文实例主要实现给出任意字符串,获取字符串中某字符的位置以及出现的总次数。实现该功能代码的时候可以使用函数enumerate来将字符串分离成
- 前言:目前我们使用的绝大多数计算机程序,无论是办公软件,浏览器,甚至游戏、视频都是通过菜单界面系统配置的,它几乎成了我们使用机器的默认方式。
- 1 配置环境setting.json·是设置语言环境,launch.json是设置执行环境来执行代码,tasks.js
- 前言废话滑块验证码破解是一直都想搞的项目,毕竟多数网站都会采用滑块验证码,于是最近在修改论文的闲暇之余把这事儿给解决了。要搞现在的滑块验证码
- 一、回顾一下CONVERT()的语法格式:CONVERT (<data_ type>[ length ], <expres
- #!/usr/bin/env python## Copyright 2009 Facebook## Licensed under the A
- 重现如下: <!doctype html> <html> <head> <title>设置i
- 本文实例为大家分享了wxPython电子表格功能的具体代码,供大家参考,具体内容如下#!/usr/bin/env python#encodi
- 我们知道SQLSERVER的数据行的存储有两种数据结构:A: 堆 B :B树(binary 二叉树)数据按照这种两种
- 前段时间在网上找了一个“完美的”JavaScript对象克隆的函数,感觉还不错,但随后便出现了一些问题,发现这个克隆并不好用,在使用发现了如
- 如果想使用easy_install工具,可能需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:wget -q
- 1. Shared and Exclusive Locksshared lock (译:共享锁)exclusive lock (