Python Numpy数组缩放未返回正确的值

Python Numpy数组缩放未返回正确的值,python,arrays,numpy,Python,Arrays,Numpy,我有一个numpy数组,我想通过缩放所有列(例如,一列中的所有值除以该列中的最大值,使所有值都为1)来更改该数组。是否有更好的方法缩放数据,或者我是否错误地使用了max()函数(例如,列之间是否共享max()值?)IIUC,并不是最大值在列之间共享,而是你可能想除以最大绝对值,因为你有两个符号的元素。1>-100,毕竟,如果你除以一列的最大值与[1,-100],什么都不会改变 例如: >>> data_in = np.array([[-3,-2],[2,1]]) >>

我有一个numpy数组,我想通过缩放所有列(例如,一列中的所有值除以该列中的最大值,使所有值都为1)来更改该数组。是否有更好的方法缩放数据,或者我是否错误地使用了max()函数(例如,列之间是否共享max()值?)IIUC,并不是最大值在列之间共享,而是你可能想除以最大绝对值,因为你有两个符号的元素。1>-100,毕竟,如果你除以一列的最大值与[1,-100],什么都不会改变

例如:

>>> data_in = np.array([[-3,-2],[2,1]])
>>> data_in
array([[-3, -2],
       [ 2,  1]])
>>> data_in.max(axis=0)
array([2, 1])
>>> data_in / data_in.max(axis=0)
array([[-1.5, -2. ],
       [ 1. ,  1. ]])
但是

>>> data_in = np.array([[-3,-2],[2,1]])
>>> data_in
array([[-3, -2],
       [ 2,  1]])
>>> data_in.max(axis=0)
array([2, 1])
>>> data_in / data_in.max(axis=0)
array([[-1.5, -2. ],
       [ 1. ,  1. ]])
>>> data_in / np.abs(data_in).max(axis=0)
array([[-1.        , -1.        ],
       [ 0.66666667,  0.5       ]])