So berechnen Sie den Mittelwert und die Standardabweichung gegeben PySpark DataFrame?

Habe ich PySpark DataFrame (nicht pandas) genannt df, die ziemlich groß ist zu verwenden collect(). Daher die unten angegebene code ist nicht effizient. Es war eine kleinere Datenmenge, aber jetzt scheitert es.

import numpy as np

myList = df.collect()
total = []
for product,nb in myList:
    for p2,score in nb:
            total.append(score)
mean = np.mean(total)
std = np.std(total)

Gibt es eine Möglichkeit zu bekommen mean und std als zwei Variablen mithilfe pyspark.sql.functions oder ähnliches?

from pyspark.sql.functions import mean as mean_, std as std_

Könnte ich withColumn allerdings gilt dieser Ansatz für die Berechnungen Zeile für Zeile, und es nicht wieder eine einzelne variable.

UPDATE:

Beispiel-Inhalt df:

+----------+------------------+
|product_PK|          products|
+----------+------------------+
|       680|[[691,1], [692,5]]|
|       685|[[691,2], [692,2]]|
|       684|[[691,1], [692,3]]|

Ich soll berechnen Sie Mittelwert und Standardabweichung der score Werte, z.B. den Wert 1 im [691,1] ist einer von erzielt.

  • Können Sie geben eine Probe Ihrer Daten?
  • Ich habe eine kleine Beispiel.
InformationsquelleAutor Markus | 2017-12-27
Schreibe einen Kommentar