python多少维度_python – 选择一个ndarray的所有维度
我有一个尺寸为(2,3,4)的ndarray m.我想选择一个特定的维度索引并总结其他所有内容:
m[:, 2, :].sum()
但是我需要一个函数来处理元素选择,因为ndarray可以有不同的维度,并且总和应该跨越各个切片.该函数将采用维度(此处为0,1或2)和感兴趣的索引(0,1或2)并返回m [:,2,:].sum()如果输入为(1, 2).如果是(2,0),我希望它具有m [:,:0] .sum()的等价物.
我不知道如何编写这样的函数,这可以让我将切片“:”放入变量中?到目前为止,我还没有找到解决方案.谢谢!
解决方法:
您可以将slice:放入sl = slice(None,None,None)的变量中.然而,numpy有一个简写,np.s_[:]
整体然后:
def sum_axis_i(arr, axis, i):
idx = (np.s_[:],) * axis + (i,)
return arr[idx].sum()
请注意,尾随:s是多余的,因此我们不打扰创建它们.
如果你使用np.index_exp,它与np.s_非常相似,你可以写:
def sum_axis_i(arr, axis, i):
idx = np.index_exp[:] * axis + np.index_exp[i]
return arr[idx].sum()
标签:python,indexing,numpy
来源: https://codeday.me/bug/20190717/1488193.html
python多少维度_python – 选择一个ndarray的所有维度相关推荐
- python定义单位矩阵_python 实现一个反向单位矩阵示例
python 实现一个反向单位矩阵示例 反向单位矩阵 单位矩阵即对角线为 1,如下: 那么反向的单位矩阵就是反对角线为 1: 左右镜像操作 这里采用 numpy 实现. 方案 1 import ...
- python 数组维度_python – 非常基本的Numpy数组维度可视化
NumPy中ndarray的解剖结构如下所示:(来源: Physics Dept, Cornell Uni) 一旦离开2D空间并进入3D或更高维空间,行和列的概念就不再有意义了.但是你仍然可以直观地理 ...
- python游戏设计_Python设计一个猜大小游戏
Python设计小游戏实例 本文主要介绍如何用Python设计一个经典小游戏:猜大小. 在这个游戏中,将用到前面我介绍过的所有内容:变量的使用.参数传递.函数设计.条件控制和循环等,做个整体的总结和复 ...
- python 均值滤波_Python的一个骚操作
PS作为世界四大发明之一可以说被广大网友用到了极致,只有你想不到的没有我P不了的,任何正经的图片在都可以变成搞笑图片(比如下图)当然也可以用ps做一点正经的事情. 作为一个爱折腾的程序猿能用代码的解决 ...
- python读取目录_Python读取一个目录下所有目录和文件
本文实例讲述了Python读取一个目录下所有目录和文件的方法.分享给大家供大家参考,具体如下: 这里介绍的是刚学python时的一个读取目录的列子,给大家分享下: #!/usr/bin/python ...
- python文件分发_python 写一个文件分发小程序
一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...
- python dataframe创建_python 创建一个空dataframe 然后添加行数据的实例
实例如下所示: import pandas as pd import re import math dframe1 = pd.read_excel("window regulator分析报告 ...
- python优先级排序_Python实现一个优先级队列的方法
问题 怎样实现一个按优先级排序的队列? 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 解决方案 下面的类利用 heapq 模块实现了一个简单的优先级队列: import heapq ...
- python整人程序_python—做一个恶搞程序
python-做一个恶搞程序 very easy print("You can't win this game") #你不可能赢这个游戏 n = int(input("B ...
最新文章
- Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)
- SqlServer2000日志文件过大问题处理
- 皮一皮:颜值的重要。。。
- 为什么我使用 Linux 开发
- 文巾解题 45. 跳跃游戏 II
- 深入理解AbstractQueuedSynchronizer(AQS)
- ${oid?c}的使用
- mysql user表 空_mysql 忘记密码,重置密码,mysql.user表为空的解决办法
- java 字段构造函数_依赖注入–字段vs构造函数vs方法
- [BZOJ4537][Hnoi2016]最小公倍数 奇怪的分块+可撤销并查集
- 交换ctrl和左caps_如何在Linux中交换Ctrl和Caps Lock键
- 唯一可译码判断c语言_单片机基础实验数码管原理与C语言
- VCenter配置ESXI主机syslog日志收集
- RHEL4下刻录机使用--终端图形化方式
- 游戏筑基开发之贪吃蛇移动算法(C语言)
- java 发送支持超链接的邮件
- 【网络科普】NAS和SAN - 网络附加存储和存储区域网络
- Android开发环境搭建笔记总结
- 基于STM32开发的CO2浓度、温湿度、气压监测系统
- UG二次开发GRIP批量打开图纸