Làm cách nào để có thể chia hàng mảng numpy bằng tổng của tất cả các giá trị trong hàng này?hàng chia nhỏ theo hàng tổng cộng
Đây là một ví dụ. Nhưng tôi chắc rằng có một cách lạ mắt và nhiều hiệu quả hơn để làm điều này:
import numpy as np
e = np.array([[0., 1.],[2., 4.],[1., 5.]])
for row in xrange(e.shape[0]):
e[row] /= np.sum(e[row])
Kết quả:
array([[ 0. , 1. ],
[ 0.33333333, 0.66666667],
[ 0.16666667, 0.83333333]])
tôi không thấy làm thế nào bạn có thể thả 'trục = 1'. Không có đối số 'axis',' sum() 'trả về tổng của tất cả các giá trị trong mảng. –
Trong numpy 1.7 có một đối số 'keepdims' cho phép bạn thực hiện' e/e.sum (axis = 1, keepdims = True) ' – Jaime
@WarrenWeckesser: Tôi không nói bạn có thể bỏ phần' 1', tôi cho biết bạn có thể thả phần 'axis ='. – DSM