gpt4 book ai didi

python - PySpark 中日期时间的舍入时间

转载 作者:行者123 更新时间:2023-12-05 08:14:21 24 4
gpt4 key购买 nike

我正在尝试使用 pyspark 和 udf 计算时间。

该函数在 python 中正常工作,但在使用 pyspark 时效果不佳。

输入是:

date = Timestamp('2016-11-18 01:45:55') # 类型是 pandas._libs.tslibs.timestamps.Timestamp

def time_feature_creation_spark(date):
return date.round("H").hour

time_feature_creation_udf = udf(lambda x : time_feature_creation_spark(x), IntegerType())

enter image description here

然后我在提供 spark 的函数中使用它:

data = data.withColumn("hour", time_feature_creation_udf(data["date"])

错误是:

TypeError: 'Column' object is not callable

预期的输出只是距离日期时间中的时间最近的小时(例如 20h45 最接近 21h,因此返回 21)

最佳答案

/3600*3600 更好的版本是使用内置函数 date_trunc

import pyspark.sql.functions as F
return df.withColumn("hourly_timestamp", F.date_trunc("hour", df.timestamp))

除了小时之外的其他格式是

year’, ‘yyyy’, ‘yy’, ‘month’, ‘mon’, ‘mm’, ‘day’, ‘dd’, ‘hour’, ‘minute’, ‘second’, ‘week’, ‘quarter’

关于python - PySpark 中日期时间的舍入时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53765077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com