как сделать nullable = true, при использовании withcolumn для создания двоичного столбца 1 и 0, - PullRequest
0 голосов
/ 21 февраля 2020

это код, который я использую

dfn = df.withColumn("id",F.when(F.col("number1") > F.col("number2"), 1 ).otherwise(0))

Проблема:

возвращает integerType и nullable = false.

Цель:

Я хочу это doubleType и nullable = true

большое спасибо заранее

1 Ответ

1 голос
/ 21 февраля 2020
from pyspark.sql.types import DoubleType

dfn = df.withColumn("id",(F.when(F.col("number1") > F.col("number2"), 1 ).otherwise(0)).cast(DoubleType()))
dfn = dfn.withColumn("id", F.when(F.col("id").isNotNull(), F.col("id")).otherwise(F.lit(None)))

dfn.printSchema()
...