Zaman damgası alanına sahip bir veri çerçevem var-RECEİPTDATEREQUESTED: timestamp Bazı nedenlerden dolayı, 1900-01-01'den küçük tarihler var. Ben bunları istemiyorum, ben yapmak istiyorum, ne RECEİPTDATEREQUESTED nerede dataframe sütundaki her değer için <'1900-01-01 00:00:00' ya 1900-01-01 için zaman damgası ayarlamak veya boş. Bunu yapmanın birkaç yolunu denedim, ama daha basit bir şey olmalı gibi görünüyor. Böyle bir şeyin işe yarayacağını düşünmüştüm ama
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")))