numpy中用None扩充维度

numpy中除了可以用newaxis、expand_dim函数扩充维度(参考链接),还可以用None扩充维度。

示例:

我们也可以用这个方法来实现某个维度的内部相减,例如对于2维数组,有第0维(即行)和第1维(即列),我们可以用下面的方法实现用其他列减去第2列的想法:

import numpy as np
e = np.arange(12).reshape([3, 4])
print('e:
', e)

f = e[:, 2]
print('
f:
', f)

g = f[:, None]
print('
g:
', g)

print('
e-g:
', e-g)

运行结果:

对于三维数组以及高维数组,也可以用同样的方法实现:

import numpy as np
a = np.arange(24).reshape([2, 3, 4])
print('a:
', a)

b = a[:, 1, :]
print('
b:
', b)

c = b[:, None, :]
print('
c:
', c)

print('
a-c:
', a-c)

运行结果:

原文地址:https://www.cnblogs.com/picassooo/p/14046714.html