我正在尝试为项目编写一些更简洁的代码。我创建了新变量来重新缩放熊猫数据框的某些列。我想创建一个可以更高效地运行的功能。 有人对我如何实现此目标有任何想法或资源吗?
scaler = StandardScaler()
whole_scaled = scaler.fit_transform(df_milk_types['Whole'].values.reshape(-1, 1))
red_fat_scaled = scaler.fit_transform(df_milk_types['Two Percent Fat'].values.reshape(-1, 1))
low_fat_scaled = scaler.fit_transform(df_milk_types['One Percent Fat'].values.reshape(-1, 1))
skim_scaled = scaler.fit_transform(df_milk_types['Skim'].values.reshape(-1, 1))
答案 0 :(得分:0)
您所使用的方法已经足够有效。但是,如果您想自己实施,则可以执行以下操作:
def Standardize(x):
x = np.asarray(x)
return (x - np.mean(x)) / (np.std(x))
但是请记住,像这样编写,您将无法应用反向变换,因为您将失去原始数据的均值和标准差。
无论如何...现在应用该方法很简单:
df.loc[:, 'column_name'] = Standardize(df.loc[:, 'column_name'])
要记住的另一件事是,当数据帧中的行数很大时,np.std将返回内存错误...