【发布时间】:2019-01-14 01:00:32
【问题描述】:
我有一个字符串类型的列“年龄”的数据框,我想更改以下形式的值。
- null 到 999
- NaN 到 0
- 年龄大于200到999
- 范围(val1-val2)到(val1 + val 2)/2
- 保持其他值不变。
输入值示例
Age
=====
0
null
NaN
999
200
35
25-30
45
null
NaN
35-40
======
需要输出
Age
=====
0
999
0
999
999
35
27
45
999
0
37
======
到目前为止我尝试过的代码
val formatted_df1 = df.withColumn("age", regexp_replace(col("age"), "null", "999")) -- This will change the value from null to 999
val formatted_df2 = formatted_df1.withColumn("age", regexp_replace(col("age"), "NaN", "0")) -- This will change the value from NaN to 0
【问题讨论】:
标签: scala apache-spark dataframe apache-spark-sql