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

yipeiwu_com7年前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使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例

本文实例讲述了Python使用gluon/mxnet模块实现的mnist手写数字识别功能。分享给大家供大家参考,具体如下: import gluonbook as gb from m...

python使用PIL和matplotlib获取图片像素点并合并解析

python使用PIL和matplotlib获取图片像素点并合并解析

python 版本 3.x 首先安装 PIL 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Pytho...

用Python的Django框架来制作一个RSS阅读器

用Python的Django框架来制作一个RSS阅读器

Django带来了一个高级的聚合生成框架,它使得创建RSS和Atom feeds变得非常容易。 什么是RSS? 什么是Atom? RSS和Atom都是基于XML的格式,你可以用它来提供有...

对Python中画图时候的线类型详解

对Python中画图时候的线类型详解

在Python中用matplotlib画图的时候,为了区分曲线的类型,给曲线上面加一些标识或者颜色。以下是颜色和标识的汇总。 颜色(color 简写为 c): 蓝色: 'b' (blue...

用于业余项目的8个优秀Python库

在 Python/Django 的世界里有这样一个谚语:为语言而来,为社区而留。对绝大多数人来说的确是这样的,但是,还有一件事情使得我们一直停留在 Python 的世界里,不愿离开,那就...