DataFrame 列的条件操作

使用 PySpark 进行数据清洗

Mike Metzger

Data Engineering Consultant

条件子句

"条件子句"包括:

  • if / then / else 的内联写法
  • .when()
  • .otherwise()
使用 PySpark 进行数据清洗

条件示例

.when(<if condition>, <then x>)

df.select(df.Name, df.Age, F.when(df.Age >= 18, "Adult"))

Name Age
Alice 14
Bob 18 Adult
Candice 38 Adult
使用 PySpark 进行数据清洗

另一个示例

多次使用 .when()

df.select(df.Name, df.Age, 
          .when(df.Age >= 18, "Adult")
          .when(df.Age < 18, "Minor"))
Name Age
Alice 14 Minor
Bob 18 Adult
Candice 38 Adult
使用 PySpark 进行数据清洗

Otherwise

.otherwise() 相当于 else

df.select(df.Name, df.Age,
          .when(df.Age >= 18, "Adult")
          .otherwise("Minor"))
Name Age
Alice 14 Minor
Bob 18 Adult
Candice 38 Adult
使用 PySpark 进行数据清洗

开始练习!

使用 PySpark 进行数据清洗

Preparing Video For Download...