原始数据框
+------+--------+
| name| country|
+------+--------+
|Raju |UAS |
|Ram |Pak |
|null |China |
|null |null |
+------+--------+
I Need this
+------+--------+
|Namwet|wet Con |
+------+--------+
|0.2 | 0.3 |
|0.2 | 0.3 |
|0.0 | 0.3 |
|0.0 | 0.0 |
+------+--------+
我想为两列创建一个Udf 这将应用于“名称列”,它会检查它们,如果不为null,则返回应为0.2,否则应返回0.0。 和相同的Udf应用于country列,如果它为null,则返回0.0不为null则返回0.3
答案 0 :(得分:1)
您不需要udf。
您可以这样做
df
.select(
when($"name".isNotNull, 0.2).otherwise(0.0).as("Namewet"),
when($"country".isNotNull, 0.3).otherwise(0.0).as("wet Con"),
// Select more columns as required)