from pyspark.sql.functions import col, concat_ws, to_date # Drop rows with missing values df = org_df.na.drop() # Convert columns "Date" and "Time" into new column "DateTime" df = df.withColumn("Date", to_date(col("Date"),"d/M/y")) df = df.withColumn("Date", df["Date"].cast("date")) df = df.select(concat_ws(" ", to_date(col("Date"),"d/M/y"), col("Time")).alias("DateTime"), "*") df = df.withColumn("DateTime", df["DateTime"].cast("timestamp")) # Add time-related features df = df.withColumn("year", year("DateTime")) df = df.withColumn("month", month("DateTime")) df = df.withColumn("week_num", weekofyear("DateTime")) df = df.withColumn("hour", hour("DateTime"))