Python 实现取多维数组第n维的前几位

yipeiwu_com5年前Python基础

现在我们有一个shape为(7352, 9, 128, 1)的numpy数组。

想要取出第2维的前三个数据,构成新数组(7352, 3, 128, 1)

我的思想是:将第2维数据转置(transpose)到第一维,再用切片(slice)取出前三个数据,再转置回去:

print("# original", input.shape)
input_transpose = input.transpose((1, 0, 2, 3))
print("# transpose", input_transpose.shape)
input_slice = input_transpose[0:3]
print("# slice", input_slice.shape)
output = input_slice.transpose((1, 0, 2, 3))
print("# output", output.shape)

其实更简单的做法是:

print("# original", input.shape)
print("# output", input[:, [0, 1, 2]].shape)

以上这篇Python 实现取多维数组第n维的前几位就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

基于python生成器封装的协程类

自从python2.2提供了yield关键字之后,python的生成器的很大一部分用途就是可以用来构建协同程序,能够将函数挂起返回中间值并能从上次离开的地方继续执行。python2.5的...

Python利用matplotlib生成图片背景及图例透明的效果

Python利用matplotlib生成图片背景及图例透明的效果

前言 最近工作中遇到一个需求,在使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,通过查找相关资料找到了大概的设置方法,特此记录,方便自己或者有需要的朋友们参考...

python使用7z解压apk包的方法

本文实例讲述了python使用7z解压apk包的方法。分享给大家供大家参考。具体如下: 这段代码通过shell调用7z对apk包进行解压缩 def run_shell(command...

Python中多线程及程序锁浅析

Python中多线程及程序锁浅析

Python中多线程使用到Threading模块。Threading模块中用到的主要的类是Thread,我们先来写一个简单的多线程代码: 复制代码 代码如下: # coding : uf...

python实现几种归一化方法(Normalization Method)

python实现几种归一化方法(Normalization Method)

数据归一化问题是数据挖掘中特征向量表达时的重要问题,当不同的特征成列在一起的时候,由于特征本身表达方式的原因而导致在绝对数值上的小数据被大数据“吃掉”的情况,这个时候我们需要做的就是对抽...