3 गुना 3 अंक की सरणी दी
a = numpy.arange(0,27,3).reshape(3,3)
# array([[ 0, 3, 6],
# [ 9, 12, 15],
# [18, 21, 24]])
मैंने सोचा 2-आयामी सरणी की पंक्तियों को सामान्य करने के लिए
row_sums = a.sum(axis=1) # array([ 9, 36, 63])
new_matrix = numpy.zeros((3,3))
for i, (row, row_sum) in enumerate(zip(a, row_sums)):
new_matrix[i,:] = row / row_sum
वहाँ एक बेहतर तरीका होना चाहिए, वहाँ नहीं है?
शायद स्पष्ट करने के लिए: मेरा मतलब सामान्य करने से, प्रति पंक्ति प्रविष्टि का योग एक होना चाहिए। लेकिन मुझे लगता है कि ज्यादातर लोगों के लिए यह स्पष्ट होगा।