在 withColumn("myColumn", myEnum.Giraffe) 内使用 PySpark 的“python 枚举”的最佳方法

Nic*_*463 3 python enums apache-spark pyspark

我想做这样的事情:

myEnum = Enum("myEnum", "Giraffe Crab Rat Human")

df_new = df.withColumn("AnimalEnumValueColumn", myEnum.Giraffe)
Run Code Online (Sandbox Code Playgroud)

(我知道这是不正确的,但我想要一个具有相同预期效果的替代解决方案)

mck*_*mck 6

您需要使用.value从枚举对象获取值:

import pyspark.sql.functions as F

df_new = df.withColumn("AnimalEnumValueColumn", F.lit(myEnum.Giraffe.value))
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅枚举文档。