如何在 pandas 中在 -1 和 1 之间缩放数据

How to scale data between -1 and 1 in pandas

大家好!有人可以帮我解决这个问题吗? bh_df 是我正在使用的数据集。正如您现在所看到的,数据介于大约。 79 和 77。我需要在 -1 和 1 之间缩放它。提前谢谢你!我想做 x_max-x_min 事情(这里建议 https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html),但我的最小数据点是 0,所以我认为它不会做任何有用的事情。

为此,您需要一个转换数据的函数,以便

x_new = (x - min_x)  / (max_x - min_x)

使用pandas

df = df.apply(lambda x:(x-min(x))/(max(x)-min(x)), axis = 0)

使用sklearn.preprocessing.MinMaxScaler

from sklearn.preprocessing import MinMaxScaler


scaler = MinMaxScaler(feature_range=(-1, 1))
normalised_data = scaler.fit_transform(df)

作为旁注,如果数据应该被馈送到 ML 模型,您应该调用 fit() on training and transform() 测试和验证集。