转:numpy中expand_dims()函数详解

注:本文只是本人的通俗理解,有些专业概念表达不是很清楚,但我相信你读完可以理解该函数并会使用。

expand_dims(a, axis)中,a为numpy数组,axis为需添加维度的轴,a.shape将在该轴显示为1,通过索引调用a中元素时,该轴对应的索引一直为0。废话少说,实操为证:

本人使用jupyter notebook软件编程

1.一维数组:即向量

 

 

 

如上图所示,axis=0对应的shape为6,axis=1对应的shape为空。如下图,在axis=0添加维度,即shape中用1替代6的位置,并将6后移。索引y[0][1]中0即为添加的维度,一直为0不可更改。

 

 

 

如下图,在axis=1添加维度,即shape中把1放在axis=1的位置,即在6后面。索引y[1][0]中0即为添加的维度,一直为0不可更改。

 

 

 

同理对于二维,三维数组一样。

2.二维数组:

 

 

 

shape中2处于axis=0的位置,3处于axis=1的位置,若在axis=1的位置添加变量,则需在shape中axis=1的位置写1,同时3后移,shape变为(2,1,3)。调用索引时axis=1的位置一直为0

 

 

 

3.三维数组:

 

 

 

 

 

 

本人理解也不是很到位,有错误在所难免,希望大家在下面积极指正。

我觉得axis=0时不会把已有元素分散到不同维度,=1时相反。0时形成横表,1时形成纵表


原文链接:https://blog.csdn.net/weixin_41004352/article/details/103711288

posted @ 2023-03-14 09:31  河北大学-徐小波  阅读(60)  评论(0编辑  收藏  举报