假设我有一个数据帧x
与此架构:
xSchema = StructType([ \
StructField("a", DoubleType(), True), \
StructField("b", DoubleType(), True), \
StructField("c", DoubleType(), True)])
然后我得到了数据框:
DataFrame[a :double, b:double, c:double]
我想要一个整数派生列。我可以创建布尔列:
x = x.withColumn('y', (x.a-x.b)/x.c > 1)
我的新架构是:
DataFrame[a :double, b:double, c:double, y: boolean]
但是,我希望列y
包含0表示False,1表示True。
cast
函数只能在列上操作,不能在DataFrame
上操作,withColumn
函数只能在DataFrame
上操作。如何添加新列并同时将其转换为整数?
使用的表达式求值为列,因此可以直接按如下方式强制转换:
相关问题 更多 >
编程相关推荐