例如,说我有:
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
但是,它减去了所有数字,而不仅仅是第一个数字。
答案 0 :(得分:6)
我相信你要找的是:
a[:,0]-=1
[:,0]
将访问第一个轴上的所有值,第二个轴上的第零个索引。
答案 1 :(得分:1)
为了完整起见:
你的numpy 2D数组看起来像这样:
[[ 1 2 3 6]
[ 2 45 34 56]
[ 3 8 56 45]]
你想要做的是从第一列中减去1 这可以通过切割整个第一列并从其项中减去1来完成。
在numpy中,您可以对array[:,col_num]
之类的列或array[row_num,:]
之类的行进行切片,其中:
分别表示all the rows
或all the columns
。
所以你的解决方案是:
a[:,0] -=1
您可以选择索引为0的所有行项并从中减去1。
我强烈建议您遵循此link的基本和中级python教程,因为它们会让您熟悉这些概念和许多其他概念。
希望这有用。