I have a 2D Numpy Array, and I want to apply a function to each of the rows and form a new column (the new first column) with the results. For example, let
M = np.array([[1,0,1], [0,0,1]])
and I want to apply the sum
function on each row and get
array([[2,1,0,1], [1,0,0,1]])
So the first column is [2,1]
, the sum of the first row and the second row.
You can generally append arrays to each other using np.concatenate
when they have similar dimensionality. You can guarantee that sum
will retain dimensionality regardless of axis using the keepdims
argument:
np.concatenate((M.sum(axis=1, keepdims=True), M), axis=1)
This is equivalent to
np.concatenate((M.sum(1)[:, None], M), axis=1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With