假如需要从二维数组里面抽取一列
取出来之后维度却变成了一维
假如我们需要将其还原为二维,就需要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,)