从儒略日计算儒略日期的python udf

2024-10-05 12:18:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要编写一个定制的python udf,以获得通过儒略日的日期,这与下面的逻辑相反。请告知。在

def date_to_julian_day(my_date):
    """Returns the Julian day number of a date."""
    a = (14 - my_date.month)//12
    y = my_date.year + 4800 - a
    m = my_date.month + 12*a - 3
    return my_date.day + ((153*m + 2)//5) + 365*y + y//4 - y//100 + y//400 - 32045

Tags: ofthetonumberdatemydef逻辑
1条回答
网友
1楼 · 发布于 2024-10-05 12:18:48
from pyspark.sql import functions as f
rdd = spark.sparkContext.parallelize([(1, '2017-03-01'), (2, '2017-03-02')])
df = spark.createDataFrame(rdd, schema=['idx', 'dt'])
df = df.select(df['idx'], f.to_date(df['dt']).alias('dt'))

My_UDF = f.UserDefinedFunction(date_to_julian_day, returnType=StringType())
df = df.withColumn('julian', My_UDF(df['dt']))
df.show()

相关问题 更多 >

    热门问题