如何在 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()
测试和验证集。
大家好!有人可以帮我解决这个问题吗? 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()
测试和验证集。