Numpy知识点:np.expand_dims()&np.argmax()

np.expand_dims:用于扩展数组的形状

原始数组:

import numpy as np

In [12]:
a = np.array([[[1,2,3],[4,5,6]]])
a.shape
Out[12]:
(1, 2, 3)

np.expand_dims(a, axis=0)表示在0位置添加数据,转换结果如下:

In [13]:
b = np.expand_dims(a, axis=0)
b
Out[13]:
array([[[[1, 2, 3],
         [4, 5, 6]]]])

In [14]:
b.shape
Out[14]:
(1, 1, 2, 3)

np.expand_dims(a, axis=1)表示在1位置添加数据,转换结果如下:

In [15]:
c = np.expand_dims(a, axis=1)
c
Out[15]:
array([[[[1, 2, 3],
         [4, 5, 6]]]])

In [16]:
c.shape
Out[16]:
(1, 1, 2, 3)

np.expand_dims(a, axis=2)表示在2位置添加数据,转换结果如下:

In [17]:
d = np.expand_dims(a, axis=2)
d
Out[17]:
array([[[[1, 2, 3]],
        [[4, 5, 6]]]])

In [18]:
d.shape
Out[18]:
(1, 2, 1, 3)

np.expand_dims(a, axis=3)表示在3位置添加数据,转换结果如下:

In [19]:
e = np.expand_dims(a, axis=3)
e

In [20]:
e.shape
Out[20]:
(1, 2, 3, 1)

能在(1,2,3)中插入的位置总共为4个,再添加就会出现以下的警告,要不然也会在后面某一处提示AxisError。

In [21]:
f = np.expand_dims(a, axis=4)
D:\ProgramData\Anaconda3\envs\dlnd\lib\site-packages\ipykernel_launcher.py:1: DeprecationWarning: Both axis > a.ndim and axis < -a.ndim - 1 are deprecated and will raise an AxisError in the future.
  """Entry point for launching an IPython kernel.

np.argmax:返回沿轴最大值的索引值

  • 一维数组
A = np.arange(6).reshape(1,6)
A
Out[22]:
array([[0, 1, 2, 3, 4, 5]])

返回一维数组中最大值的索引值:

In [23]:
B = np.argmax(A)
B
Out[23]:
6
  • 二维数组

要索引的数组:

In [42]:
E = np.array([[1,2,3],[2,1,4],[3,6,1]])
print(E)
E.shape
[[1 2 3]
 [2 1 4]
 [3 6 1]]
Out[42]:
(3, 3)

axis=0表示沿行比较,输出结果如下所示,比较a[0][j],a[1][j] ,a[2][j] (j=0,1,2),从a[0][j]开始遍历,最大值索引最初为(0,0,0),a[1][j]与a[0][j]相比,2比1大,1比2小,4比3大,最大值的索引值更新为(1,0,1);a[2][j]与a[1][j]相比,3比2大,6比2大,1比4小,最大值的索引值更新为(2,2,1)

In [34]:
F= np.argmax(E, axis=0)
F
Out[34]:
array([2, 2, 1], dtype=int64)

axis=1表示沿列比较,输出结果如下所示,比较a[i][0],a[i][1] ,a[i][2] (i=0,1,2),从a[i][0]开始遍历,最大值索引最初为(0,0,0),a[i][1]与a[i][0]相比,2比1大,1比2小,4比3大,最大值的索引值更新为(1,0,1);a[i][2]与a[i][1]相比,3比2大,6比2大,1比4小,最大值的索引值更新为(2,2,1)

In [41]:
G= np.argmax(E, axis=1)
G
Out[41]:
array([2, 2, 1], dtype=int64)

三维四维多维都是一样的道理 ~

扫描二维码关注公众号,回复: 10449066 查看本文章
发布了352 篇原创文章 · 获赞 115 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Aidam_Bo/article/details/103245520