首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期信息添加到dataframe中的timestep

将日期信息添加到dataframe中的timestep
EN

Stack Overflow用户
提问于 2021-05-08 14:06:29
回答 1查看 30关注 0票数 0

我正在尝试将csv文件读取到数据帧中,csv fileThe csv文件如下所示。

单元格值仅包含小时信息和缺少日期信息。我想将这个csv文件读入数据帧,并将计时信息转换为类似2021-05-07 04:04.00的格式,即,我想添加日期信息。如何做到这一点呢?

我使用了以下代码,但似乎pyspark只是将日期信息添加为1970-01-01,这是一种系统设置。

代码语言:javascript
复制
spark = SparkSession.builder.getOrCreate()
spark.conf.set("spark.sql.legacy.timeParserPolicy","LEGACY")
df_1 = spark.read.csv('test1.csv', header = True)
df_1 = df_1.withColumn('Timestamp', to_timestamp(col('Timing'), 'HH:mm'))
df_1.show(truncate=False)

我得到了以下结果。

代码语言:javascript
复制
+-------+-------------------+
| Timing|          Timestamp|
+-------+-------------------+
|04:04.0|1970-01-01 04:04:00|
|19:04.0|1970-01-01 19:04:00|
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-08 16:09:06

您可以在调用to_timestamp之前连接日期字符串

代码语言:javascript
复制
import pyspark.sql.functions as F

df2 = df_1.withColumn(
    'Timestamp', 
    F.to_timestamp(
        F.concat_ws(' ', F.lit('2021-05-07'), 'Timing'), 
        'yyyy-MM-dd HH:mm.s'
    )
)

df2.show()
+-------+-------------------+
| Timing|          Timestamp|
+-------+-------------------+
|04:04.0|2021-05-07 04:04:00|
|19:04.0|2021-05-07 19:04:00|
+-------+-------------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67444579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档