Probably I'm not reading it right. In 2D, .sum(axis=0) operation is column-wise but for .insert() and .delete() it seems row-wise?
For example, if I have a 2-dimensional array and I insert a scalar value by using axis=0, the scalar value needs to be broadcasted to match the column dimension of the array:
>>> a = np.array([[1,2],[3,4],[5,6]])
>>> np.insert(a, 1, 11, axis=0)
array([[ 1, 2],
[11, 11],
[ 3, 4],
[ 5, 6]])
[0] https://jakevdp.github.io/PythonDataScienceHandbook/02.05-co...