我有一個包含 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
提交
取消