У меня есть два разных формата дат в моем фрейме данных pyspark: format1 = 2019-10-03 08.19.42.274014 format2 = 2020-03-20 11: 05: 48.899000 Я хочу избавиться от микросекунд из обоих форматов, как как в: new_format1 = 2019-10-03 08.19.42 new_format2 = 2020-03-20 11: 05: 48
Я могу сделать это для 1 формата, как показано для моего df :
ts_col1 ts_col2 ts_col3
2019-10-03 08.19.42.274014 2019-10-03 08.19.42.274014 2019-10-03 08.19.42.274014
2020-03-20 11:05:48.899000 2020-03-20 11:05:48.899000 2020-03-20 11:05:48.899000
Мой код был:
format = "yyyy-MM-dd HH:mm:ss"
df = df.withColumn('ts_col1', f.unix_timestamp('ts_col1', format).cast('timestamp'))
df = df.withColumn('ts_col2', f.unix_timestamp('ts_col2', format).cast('timestamp'))
df = df.withColumn('ts_col3', f.unix_timestamp('ts_col3', format).cast('timestamp'))
df.show(2, False)
Результат моего df:
ts_col1 ts_col2 ts_col3
null null null
2020-03-20 11:05:48 2020-03-20 11:05:48 2020-03-20 11:05:48
Я хотел бы обновить мои столбцы в df для обоих форматов без нулевых значений. Неважно, если они оба окажутся в соответствующих форматах или в одном формате (либо один). Моя единственная задача - избавиться от микросекунд в столбцах моего df.
Любая помощь будет высоко ценится. Спасибо