【发布时间】:2019-08-30 02:07:23
【问题描述】:
我正在尝试将 pandas 或 numpy 数组从 0 缩放到未知的最大值,并将定义的数字替换为 1。
我尝试的一个解决方案是将我想要的定义数字除以数组。
test = df['Temp'] / 33
这种方法不能从 0 开始一直扩展,我一直在试图找出一种更好的数学方法来解决这个问题。
【问题讨论】:
标签: python pandas numpy dataframe normalize
我正在尝试将 pandas 或 numpy 数组从 0 缩放到未知的最大值,并将定义的数字替换为 1。
我尝试的一个解决方案是将我想要的定义数字除以数组。
test = df['Temp'] / 33
这种方法不能从 0 开始一直扩展,我一直在试图找出一种更好的数学方法来解决这个问题。
【问题讨论】:
标签: python pandas numpy dataframe normalize
首先,将 DataFrame 转换为 numpy 数组
import numpy as np
T = np.array(df['Temp'])
然后将其缩放到 [0, 1] 区间:
def scale(A):
return (A-np.min(A))/(np.max(A) - np.min(A))
T_scaled = scale(T)
然后将其转换为您想要的任何位置,例如到 [55..100]
T2 = 55 + 45*T_scaled
我确信这也可以在 Pandas 中完成(但我不熟悉它)。或许你可以学习 Pandas df.apply()
【讨论】:
0 to a unknown max value with the defined number replaced with 1 的含义。你从哪里得到未知号码?你想用数字举个例子吗?