我希望我已经用正确的术语描述了我需要做的工作。本质上,我需要``压缩''一系列值,以使所有值都更接近均值,但是相对于它们与均值的距离,应减小(或增大)它们的值...
数据框如下所示:
>>> df[['population', 'postalCode']].show(10)
+----------+----------+
|population|postalCode|
+----------+----------+
| 1464| 96028|
| 465| 96015|
| 366| 96016|
| 5490| 96101|
| 183| 96068|
| 569| 96009|
| 366| 96054|
| 90| 96119|
| 557| 96006|
| 233| 96116|
+----------+----------+
only showing top 10 rows
>>> df.describe().show()
+-------+------------------+------------------+
|summary| population| postalCode|
+-------+------------------+------------------+
| count| 1082| 1082|
| mean|23348.511090573014| 93458.60813308688|
| stddev|21825.045923603615|1883.6307236060127|
+-------+------------------+------------------+
总体均值对我而言是正确的,但我需要围绕它的方差要小...
希望这是有道理的,非常感谢在pyspark或node.js中执行此工作的任何帮助。
总体思路是:
在伪代码中,如果您的值存储在变量中x
:
x.scaled = new.mean + (x - mean(x)) * new.SD/sd(x)
或者,对于特定的情况,例如SD = 1000,均值没有变化:
x.scaled = mean(x) + (x - mean(x)) * 1000/sd(x)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句