Mam ramkę danych z pola znacznika czasu - RECEIPTDATEREQUESTED:znacznik czasu Z jakiegoś powodu są daty, które mniej 1900-01-01. Nie chcę tego, to, co chcę zrobić, to dla każdej wartości w kolumnie ramki danych, w którym wymagane POKWITOWANIE Próbowałem kilku sposobów, aby to zrobić, ale wydaje się, że powinno istnieć coś bardziej proste. Myślałem, że coś takiego może się udać, ale
import datetime
def testdate(date_value):
oldest = datetime.datetime.strptime('1900-01-01 00:00:00', '%Y-%m-%d')
try:
if (date_value < oldest):
return oldest
else:
return date_value
except ValueError:
return oldest
udf_testdate = udf(lambda x:testdate(x),TimestampType())
bdf = olddf.withColumn("RECEIPTDATEREQUESTED",udf_testdate(col("RECEIPTDATEREQUESTED")))