python中的np.newaxis的用法展示

假如需要从二维数组里面抽取一列
取出来之后维度却变成了一维
假如我们需要将其还原为二维,就需要newaxis方法

实例展示:

import numpy as np

# 生成一个4×4的随机数组
array = np.random.rand(4, 4)
print(array)
print(array.shape)

# 更改前面的维度
array1 = array[np.newaxis, :]
print(array1)
print(array1.shape)

# 把第三列的数据变成一个1×4数组输出
array2 = array[np.newaxis, :, 2]
print(array2)
print(array2.shape)

# 更改后面的维度
array3 = array[:, np.newaxis]
print(array3)
print(array3.shape)

# 把第三列的数据变成一个4×1数组输出
array4 = array[:, np.newaxis, 2]
print(array4)
print(array4.shape)

# 正常输出每一行的第三列的值
array5 = array[:, 2]
print(array5)
print(array5.shape)

输出结果:

# array
[[0.6664743  0.35951647 0.99770556 0.29777917]
 [0.73367813 0.66179052 0.59737259 0.86257825]
 [0.97465695 0.43039766 0.81230801 0.23191694]
 [0.43771758 0.19492838 0.89711663 0.33614469]]
(4, 4)

# array1
[[[0.6664743  0.35951647 0.99770556 0.29777917]
  [0.73367813 0.66179052 0.59737259 0.86257825]
  [0.97465695 0.43039766 0.81230801 0.23191694]
  [0.43771758 0.19492838 0.89711663 0.33614469]]]
(1, 4, 4)

# array2
[[0.99770556 0.59737259 0.81230801 0.89711663]]
(1, 4)

# array3
[[[0.6664743  0.35951647 0.99770556 0.29777917]]

 [[0.73367813 0.66179052 0.59737259 0.86257825]]

 [[0.97465695 0.43039766 0.81230801 0.23191694]]

 [[0.43771758 0.19492838 0.89711663 0.33614469]]]
(4, 1, 4)

# array4
[[0.99770556]
 [0.59737259]
 [0.81230801]
 [0.89711663]]
(4, 1)

# array5
[0.99770556 0.59737259 0.81230801 0.89711663]
(4,)

猜你喜欢

转载自blog.csdn.net/narutodzx/article/details/105930029