在pyspark中聚合Kolmogrov-Smirnov检验
是否有方法使用groupBy子句或某种聚合方法从pyspark中的在pyspark中聚合Kolmogrov-Smirnov检验,pyspark,apache-spark-mllib,kolmogorov-smirnov,Pyspark,Apache Spark Mllib,Kolmogorov Smirnov,是否有方法使用groupBy子句或某种聚合方法从pyspark中的spark.mllib库应用KS测试? 例如,我有一个数据帧df,其中列ID和RESULT如下: +-------+------+ | ID|RESULT| +-------+------+ |3648296| 2.73| |3648296| 9.64| |3648189| 0.03| |3648189| 0.03| |3648296| 2.51| |3648189| 0.01| |3648296| 1.75
spark.mllib
库应用KS测试?
例如,我有一个数据帧df
,其中列ID
和RESULT
如下:
+-------+------+
| ID|RESULT|
+-------+------+
|3648296| 2.73|
|3648296| 9.64|
|3648189| 0.03|
|3648189| 0.03|
|3648296| 2.51|
|3648189| 0.01|
|3648296| 1.75|
|3648296| 30.23|
|3648189| 0.02|
|3648189| 0.02|
|3648189| 0.02|
|3648296| 3.28|
|3648296| 32.55|
|3648296| 2.32|
|3648296| 34.58|
|3648296| 29.22|
|3648189| 0.02|
|3648296| 1.36|
|3648296| 1.64|
|3648296| 1.17|
+-------+------+
有2个ID
s3648296
和3648189
,它们对应的结果
值的顺序为几十万。
是否可以应用如下groupBy函数:
from pyspark.mllib.stat import Statistics
normtest=df.groupBy('ID').Statistics.kolmogorovSmirnovTest(df.RESULT, "norm", 0, 1)
这样我就得到了一个输出数据帧,如:
+-------+---------+----------+
| ID|p-value |statistic |
+-------+---------+----------+
|3648296|some val | some val |
|3648189|some val | some val |
+-------+---------+----------+
这可能吗