Spark dataframe fügen Sie neue Spalte mit Zufallszahlen
Möchte ich eine neue Spalte hinzufügen, um den dataframe mit den Werten aus entweder 0 oder 1.
Ich benutzt "randint" - Funktion aus,
from random import randint
df1 = df.withColumn('isVal',randint(0,1))
Aber ich bekomme die folgende Fehlermeldung,
/spark/python/pyspark/sql/dataframe.py", line 1313, in withColumn
assert isinstance(Zeile, Spalte), "col sein sollte, Spalte"
AssertionError: col sein sollte, Spalte
wie zu verwenden einer benutzerdefinierten Funktion oder randint Funktion zum erzeugen zufälliger Wert für die Spalte?
InformationsquelleAutor Dilma | 2017-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Sie verwenden python eingebaute random. Dies gibt einem bestimmten Wert konstant ist (der Rückgabewert).
Wie die Fehlermeldung zeigt, erwarten wir eine Spalte steht für den Ausdruck.
Dazu tun:
Dies würde eine gleichmäßige Verteilung zwischen 0 und 1. Finden Sie in der Funktionen-Dokumentation für weitere Optionen (http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#module-pyspark.sql.functions)
InformationsquelleAutor Assaf Mendelson
Hatte ein ähnliches problem mit integer-Werten von 5 bis zu 10. Ich habe die
rand()
Funktion vonpyspark.sql.functions
InformationsquelleAutor gogogod