Home > OS >  How to add constant value to axis 1 (only) of 2d numpy array?
How to add constant value to axis 1 (only) of 2d numpy array?

Time:05-17

Suppose I have a 2D array, such as

a = array([[0,1],[10,12]])

Is there a simple and fast (for huge arrays) way to create a new 2D array aplus1 which adds a constant only to the 2nd axis, while keeping the 1st axis as it is? I thus wish to obtain (for constant = 1)

array([[0,1],[11,13]])

I was hoping that aplus1 = np.add(a,1,axis=1) would be available, but np.add has no option axis=.

CodePudding user response:

IIUC, you can do this by indexing as:

a[row_index, :]  = constant_value

So, for modifying a:

a[1, :]  = 1             # [[ 0  1] [11 13]]

or if you need a new array, you can copy a at first. So, e.g., if row_index = 1 and constant_value = 2:

b = np.copy(a)
b[1, :]  = 2             # [[ 0  1] [12 14]]
  • Related