我有一个包含 json 文件内容的 spark 数据框。我需要创建一个新列,该列根据另一列的内容有条件地填充。假设我有一列包含一些数字,我的新列将根据这些数字的值填充(例如:第一列的数字小于 5,我的新列将填充字符串“小于 5” ,如果该值大于 5,则新列将填充“大于 5”。我知道我可以用 when 函数做这样的事情:file.withColumn('newcolumn', \ F.when(file.oldColumn < 5, 'Lower than five') \ .when(file.oldColumn > 5, 'Greater than five').show()但是,如果“oldColumn”不仅包含整数,而且包含我需要从中提取整数的字符串,该怎么办:例如“PT5M”,我需要提取 5,我需要考虑像“PTM”这样的字符串,它不包含数字为 0到目前为止,我设法使用 regexp_extract 提取了我的第一列的数字,但我正在努力将空值变为 0示例,其中 1 是原始列,2 是新列:+-------+-------------------+|1 | 2 |+-------+-------------------+|PT5M | Lower than five | |PT10M | Greater than five| |PT11M | Greater than five| +-------+-------------------+谢谢你的帮助!
添加回答
举报
0/150
提交
取消