Python 如何仅减去numpy数组中行的第一个数

Python 如何仅减去numpy数组中行的第一个数,python,numpy,Python,Numpy,例如,假设我有: a = np.array([[1, 2, 3, 6], [2, 45, 34, 56],[3, 8, 56, 45]]) 我想从所有行的第一个数字中减去1。所以它打印: array([[0, 2, 3, 6], [1, 45, 34, 56],[2, 8, 56, 45]]) 我已经试过了 a = np.array([[1, 2, 3, 6], [2, 45, 34, 56],[3, 8, 56, 45]]) -1 但是,它从所有数字中减去,而不仅仅是从第一个数字中减去

例如,假设我有:

a = np.array([[1, 2, 3, 6], [2, 45, 34, 56],[3, 8, 56, 45]])
我想从所有行的第一个数字中减去1。所以它打印:

array([[0, 2, 3, 6], [1, 45, 34, 56],[2, 8, 56, 45]])
我已经试过了

a = np.array([[1, 2, 3, 6], [2, 45, 34, 56],[3, 8, 56, 45]]) -1 

但是,它从所有数字中减去,而不仅仅是从第一个数字中减去。

我相信您正在寻找的是:

a[:,0]-=1

[:,0]
将访问第一个轴上的所有值,第零个索引将访问第二个轴上的所有值。

我相信您要查找的是:

a[:,0]-=1

[:,0]
将访问第一轴上的所有值,第零个索引将访问第二轴上的所有值。

为了完整起见:

您的numpy 2D阵列如下所示:

[[ 1  2  3  6]
 [ 2 45 34 56]
 [ 3  8 56 45]]
您要做的是从第一列中减去1。
这可以通过切片整个第一列并从其项目中减去1来实现

在numpy中,您可以切片列,如
数组[:,col_num]
或行,如
数组[行数,:]
,其中
分别表示
所有行
所有列

因此,您的解决方案是:

a[:,0] -=1
选择索引为0的行的所有项,并从中减去1

我强烈建议您学习本教程的基本和中级python教程,因为它们将使您熟悉这些概念和许多其他概念。

希望这有帮助。

为了完整起见:

您的numpy 2D阵列如下所示:

[[ 1  2  3  6]
 [ 2 45 34 56]
 [ 3  8 56 45]]
您要做的是从第一列中减去1。
这可以通过切片整个第一列并从其项目中减去1来实现

在numpy中,您可以切片列,如
数组[:,col_num]
或行,如
数组[行数,:]
,其中
分别表示
所有行
所有列

因此,您的解决方案是:

a[:,0] -=1
选择索引为0的行的所有项,并从中减去1

我强烈建议您学习本教程的基本和中级python教程,因为它们将使您熟悉这些概念和许多其他概念。

希望这有帮助。

<代码>a[:,0]-=1<代码>a[:,0]-=1?