按列减去Numpy数组

Tre*_*ice 2 python arrays numpy

所以我有一个示例数组,说:

import numpy as np
np.array([[[ 85, 723]],
          [[ 86, 722]],
          [[ 87, 722]],
          [[ 89, 724]],
          [[ 88, 725]],
          [[ 87, 725]]])
Run Code Online (Sandbox Code Playgroud)

我想要做的是从第二列中减去一个数字10,比如说.我希望输出看起来像是这样的:

np.array([[[ 85, 713]],
          [[ 86, 712]],
          [[ 87, 712]],
          [[ 89, 714]],
          [[ 88, 715]],
          [[ 87, 715]]])
Run Code Online (Sandbox Code Playgroud)

我尝试过使用np.subtract,但它不支持沿轴减法(至少据我所知).

Div*_*kar 5

切片和减法 -

a[...,1] -= 10
Run Code Online (Sandbox Code Playgroud)

这适用于从第二列中减去的任意数量维的数组.

样品运行 -

In [582]: a
Out[582]: 
array([[[30, 23]],

       [[36, 88]],

       [[27, 15]],

       [[38, 61]],

       [[79, 14]]])

In [583]: a[...,1] -= 10

In [584]: a
Out[584]: 
array([[[30, 13]],

       [[36, 78]],

       [[27,  5]],

       [[38, 51]],

       [[79,  4]]])
Run Code Online (Sandbox Code Playgroud)