在下面的Hiring_date中是DateType。df2将空日期填充为'1900-01-01‘。但实际数据的数据格式是mm/dd/yyyy。因此,我希望将空值填充为01/01/1900。因此,我尝试了下面第二个块中显示的代码;但是Hiring_date列仍然将空值显示为NULL。
问题:我可能错过了什么,我们如何解决它?我想更重要的问题是:为什么代码2忽略了01/01/1900分配程序?
代码1:将空日期值填充为'1900-01-01‘。但我需要01/01/1900格式
df1 = df..withColumn("Hiring_date", df.Hiring_date.cast(DateType()))
df2 = df1.fillna( {'Hiring_date': '1900-01-01'} )代码2:将空日期值填充为NULL。但我需要它来显示01/01/1900
df1 = df..withColumn("Hiring_date", df.Hiring_date.cast(DateType()))
df2 = df1.fillna( {'Hiring_date': '01/01/1900'} )发布于 2022-06-10 15:48:32
我相信输入DateType的唯一有效的字符串格式是yyyy-MM-dd,这解释了为什么第一段代码是工作的。
您似乎想要日期的字符串表示,您可以使用以下方法实现:
df.withColumn('Hiring_date', date_format(col('Hiring_date'), 'MM/dd/yyyy'))
https://stackoverflow.com/questions/72576591
复制相似问题