Python Numpy:如何按整数值缩放整数数组?
我有一个最大值为num的numpy数组。我想按newMaxValue/num缩放数组中的所有值,以便数组的新最大值为newMaxValue。我尝试将数组转换为浮点,然后进行除法,但似乎无法成功地对其进行除法和乘法。我总是得到一个零值数组。 正确的做法是什么?Python Numpy:如何按整数值缩放整数数组?,python,arrays,numpy,multidimensional-array,integer-division,Python,Arrays,Numpy,Multidimensional Array,Integer Division,我有一个最大值为num的numpy数组。我想按newMaxValue/num缩放数组中的所有值,以便数组的新最大值为newMaxValue。我尝试将数组转换为浮点,然后进行除法,但似乎无法成功地对其进行除法和乘法。我总是得到一个零值数组。 正确的做法是什么? 谢谢请确保将最大值转换为浮点值: >>> from numpy import array >>> a = array([1, 2, 3, 4, 5]) >>> new_max = 6
谢谢请确保将最大值转换为
浮点值
:
>>> from numpy import array
>>> a = array([1, 2, 3, 4, 5])
>>> new_max = 6
>>> a / max(a) # This is probably what happens to you
array([0, 0, 0, 0, 1])
>>> a / float(max(a)) # Convert that integer to a float and it'll work
array([ 0.2, 0.4, 0.6, 0.8, 1. ])
>>> a / float(max(a)) * new_max
array([ 1.2, 2.4, 3.6, 4.8, 6. ])
确保将最大值转换为浮动:
>>> from numpy import array
>>> a = array([1, 2, 3, 4, 5])
>>> new_max = 6
>>> a / max(a) # This is probably what happens to you
array([0, 0, 0, 0, 1])
>>> a / float(max(a)) # Convert that integer to a float and it'll work
array([ 0.2, 0.4, 0.6, 0.8, 1. ])
>>> a / float(max(a)) * new_max
array([ 1.2, 2.4, 3.6, 4.8, 6. ])
PS:发布你的代码,你可能犯了一个简单的编码错误
PS:发布你的代码,你可能犯了一个简单的编码错误