反向z得分熊猫数据框

时间:2018-07-23 04:41:59

标签: python pandas normalization

我正在使用它来计算数据帧的z得分:

df_z = df.apply(zscore)

是否有可以提供原始值的反向操作?

1 个答案:

答案 0 :(得分:0)

没有内置的方法可以将df_z(z分数)返回到df(原始值)。但是,您可以很容易地做到这一点,如下所示:

第1步:跟踪所有原始变量的均值和标准差。 也许像这样:

mean_std={}
for var in df.columns:
    mean_std[var]=(df[var].mean(), df[var].std())

第2步:转换回z分数

def reverse_zscore(pandas_series, mean, std):
    '''Mean and standard deviation should be of original variable before standardization'''
    yis=pandas_series*std+mean
    return yis

original_mean, original_std = mean_std[var]
original_var_series = reverse_zscore(df_z[var], original_mean, original_std)

或者,只需将原始数据框存储在某个地方