Я пытался инициализировать новые столбцы со случайными значениями в пандах.Я так и сделал
df['business_vertical'] = np.random.choice(['Retail', 'SME', 'Cor'], df.shape[0])
Как мне это сделать в pyspark?
Для случайного числа:
import random randomnum= random.randint(1000,9999)
или numpy.random.choice
import org.apache.spark.sql.functions.lit val newdf = df.withColumn("newcol",lit("your-random"))
или: pandas.Series.combine_first
s1 = pd.Series([1, np.nan]) s2 = pd.Series([3, 4]) s1.combine_first(s2)
Просто создайте список значений и затем извлеките их случайным образом:
from pyspark.sql import functions as F df.withColumn( "business_vertical", F.array( F.lit("Retail"), F.lit("SME"), F.lit("Cor"), ).getItem( (F.rand()*3).cast("int") ) )
Вы можете использовать pyspark.sql.functions.rand ()
df.withColumn('rand_col', F.rand()).show()