python - 如何在 pyspark 中创建具有随机值的新列?

标签 python pandas pyspark

我尝试在 pandas 中使用随机值初始化新列。我是这样做的

df['business_vertical'] = np.random.choice(['Retail', 'SME', 'Cor'], df.shape[0])

我如何在 pyspark 中执行此操作?

最佳答案

只需生成一个值列表,然后随机提取它们:

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")
  )
)

关于python - 如何在 pyspark 中创建具有随机值的新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53517782/

相关文章:

python - 类型错误 : float() argument must be a string or a number in Django distance

python - 如何填充一列中的类别并将准确值粘贴到另一列中

python - 检测 Pandas 数据框中的第一个变化

apache-spark - 星火 ML : Taking square root of feature columns

python - PySpark,一种 gr​​oupby,考虑顺序

python - 即使在大型数据集上训练时,spaCy 空白 NER 模型也会欠拟合

python - 使用 argparse 定义参数的顺序 - Python

python - 在 pandas 的 'for' 循环中从一组 id 切换到另一组 id

python - 如何将 SQL 查询结果转换为 PANDAS 数据结构?

python - Pyspark reduceByKey 嵌套元组