方法1:使用
None(或
np.newaxis)添加额外的维度,以便广播能够正常运行:
>>> earray([[ 0., 1.], [ 2., 4.], [ 1., 5.]])>>> e/e.sum(axis=1)[:,None]array([[ 0. , 1. ], [ 0.33333333, 0.66666667], [ 0.16666667, 0.83333333]])
方法2:转置快乐:
>>> (e.T/e.sum(axis=1)).Tarray([[ 0. , 1. ], [ 0.33333333, 0.66666667], [ 0.16666667, 0.83333333]])
(
axis=如果需要,您可以为简洁而删除该部分。)
方法3 :(根据Jaime的评论进行推广)
使用
keepdims参数on
sum保留尺寸:
>>> e/e.sum(axis=1, keepdims=True)array([[ 0. , 1. ], [ 0.33333333, 0.66666667], [ 0.16666667, 0.83333333]])



