Spark dataframe ajouter une colonne avec des données aléatoires
Je veux ajouter une nouvelle colonne à la dataframe avec valeurs sont 0 ou 1.
J'ai utilisé " randint fonction de,
from random import randint
df1 = df.withColumn('isVal',randint(0,1))
Mais j'obtiens l'erreur suivante,
/spark/python/pyspark/sql/dataframe.py", de la ligne de 1313, dans withColumn
affirmer isinstance(col, Colonne), "le col doit être une Colonne"
AssertionError: col doit être une Colonne
comment utiliser une fonction ou une fonction randint pour générer de l'aléatoire de la valeur pour la colonne?
OriginalL'auteur Dilma | 2017-01-04
Vous devez vous connecter pour publier un commentaire.
Vous utilisez python builtin aléatoire. Cette fonction retourne une valeur spécifique qui est constante (la valeur retournée).
Que le message d'erreur indique, nous nous attendons à une colonne qui représente l'expression.
Pour ce faire n':
Cela donnerait une distribution uniforme entre 0 et 1. Voir la documentation des fonctions pour plus d'options (http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#module-pyspark.sql.functions)
OriginalL'auteur Assaf Mendelson
A eu un problème similaire avec les valeurs de nombre entier de 5 à 10. J'ai utilisé le
rand()
fonction depyspark.sql.functions
OriginalL'auteur gogogod