Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pyspark中的分组和标准化值_Python_Sql_Pyspark_Apache Spark Sql - Fatal编程技术网

Python Pyspark中的分组和标准化值

Python Pyspark中的分组和标准化值,python,sql,pyspark,apache-spark-sql,Python,Sql,Pyspark,Apache Spark Sql,所以,我有一个Pyspark类型的数据帧 团体 价值 A. 12 B 10 A. 1. B 0 B 1. A. 6. 您可以使用窗口函数计算每组的平均值和STDEV: from pyspark.sql import functions as F, Window df2 = df.withColumn( 'Value', (F.col('Value') - F.mean('Value').over(Window.partitionBy('Group'))) / F.s

所以,我有一个Pyspark类型的数据帧

团体 价值 A. 12 B 10 A. 1. B 0 B 1. A. 6.
您可以使用窗口函数计算每组的平均值和STDEV:

from pyspark.sql import functions as F, Window

df2 = df.withColumn(
    'Value', 
    (F.col('Value') - F.mean('Value').over(Window.partitionBy('Group'))) / 
    F.stddev_pop('Value').over(Window.partitionBy('Group'))
)

df2.show()
+-----+--------------------+
|Group|               Value|
+-----+--------------------+
|    B|  1.4083737016560922|
|    B| -0.8153742483272112|
|    B| -0.5929994533288808|
|    A|  1.2601238383238722|
|    A| -1.1859989066577619|
|    A|-0.07412493166611006|
+-----+--------------------+

请注意,由于Spark数据帧没有索引,结果的顺序将是随机的。

您希望的输出是什么,为什么?换句话说,你所说的标准化值是什么意思。@安德鲁现在应该更清楚了,但你用的是什么逻辑?你是如何提出这些价值观的?第一行如何生成1.26012384?