Python | Numpy三维数组维度变换/提取

0. 问题描述

每次使用Numpy,遇到需要从(A,B,C)三维数组中提取(A,B)、(A,C)或者(B,C)或者(A,)这几个维度数据时,总是忘记该如何切片,网上搜到的又太详细,这里做个笔记方便自己下次使用时查找。

举个例子,如果我现在有一个 X =(10,20,30)的三维数组:
那么X = [ 0:9,0:19,0:29 ] / X = [ :,:,: ] (两种写法效果一样),都是取出X的全部数据,基于此,接下来就好切片了

1. (A,B,C)——> (A,B)

X_New = X[ :,:,0]

2. (A,B,C)——> (A,C)

X_New = X[ :,0,:]

3. (A,B,C)——> (B,C)

X_New = X[ 0,:,:]

4. (A,B,C)——> (A,)

X_New = X[ :,0,0]

如果你想在某个维度上取特定的一段值,直接修改 “ :” 前后的数字就可以啦,Nice!

来源:一只殿鹿

物联沃分享整理
物联沃-IOTWORD物联网 » Python | Numpy三维数组维度变换/提取

发表评论