在 Pyspark 中将列类型从字符串更改为日期

2023-12-31

我正在尝试将列类型从字符串更改为日期。我咨询过以下人士的答案:

  1. 如何将 DataFrame 中的列类型从字符串更改为日期? https://stackoverflow.com/questions/36948012/how-to-change-the-column-type-from-string-to-date-in-dataframes
  2. 为什么我从 date_format() PySpark 函数得到空结果? https://stackoverflow.com/questions/36094413/why-i-get-null-results-from-date-format-pyspark-function

当我尝试应用链接 1 中的答案时,我得到了 null 结果,因此我引用了链接 2 中的答案,但我不明白这部分:

output_format = ...  # Some SimpleDateFormat string

from pyspark.sql.functions import col, unix_timestamp, to_date

#sample data
df = sc.parallelize([['12-21-2006'],
                     ['05-30-2007'],
                     ['01-01-1984'],
                     ['12-24-2017']]).toDF(["date_in_strFormat"])
df.printSchema()

df = df.withColumn('date_in_dateFormat', 
                   to_date(unix_timestamp(col('date_in_strFormat'), 'MM-dd-yyyy').cast("timestamp")))
df.show()
df.printSchema()

输出是:

root
 |-- date_in_strFormat: string (nullable = true)

+-----------------+------------------+
|date_in_strFormat|date_in_dateFormat|
+-----------------+------------------+
|       12-21-2006|        2006-12-21|
|       05-30-2007|        2007-05-30|
|       01-01-1984|        1984-01-01|
|       12-24-2017|        2017-12-24|
+-----------------+------------------+

root
 |-- date_in_strFormat: string (nullable = true)
 |-- date_in_dateFormat: date (nullable = true)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Pyspark 中将列类型从字符串更改为日期 的相关文章

随机推荐

  • 了解 C# 字段初始化要求

    考虑以下代码 public class Progressor private IProgress
  • 如何使用 PHP DOM 查询从 HTML 表中选择文本?

    如何使用 PHP DOM 查询从 HTML 表格单元格获取文本 HTML 表格是 table tr th Job Location th td a href Kabul a td tr tr th Nationality th td Afg
  • C# 中的索引错误,其中数组应返回空数组但返回超出范围

    我是 C 新手 遇到错误 需要让 DataPoints 数组返回空 但无论出于何种原因 我都会收到此错误 我在这里做错了什么 指数超出范围 必须为非负数且小于 集合 r n参数名称 索引 var DataPoints new DataPoi
  • 错误错误:StaticInjectorError(AppModule)[UserformService -> HttpClient]:

    在尝试添加 PrimeNG 表时 我在这里破坏了我的构建 https github com BillyCharter87 Tech O Dex UI tree BrokeIt https github com BillyCharter87
  • ISO UTC DateTime 格式作为 MVC 6 API 响应中的默认 json 输出格式

    有谁知道如何在返回 DateTime 对象时将 MVC6 的 json 输出配置为默认为 ISO UTC DateTime 字符串格式 在 WebApi2 中 我可以设置 JsonFormatter SerializerSettings 并
  • 如何为strip文件配置cmake

    当我在发布模式下使用 cmake 时 我有以下二进制文件 64 bit LSB executable x86 64 version 1 SYSV dynamically linked interpreter lib64 ld linux x
  • 通过 Link Server 连接时,如何将 Oracle TIMESTAMP 数据类型转换为 SQL Server DATETIME2 数据类型。

    我已经尝试过一些例子 但到目前为止还没有工作 我有一个Link Server SQL Server 2014 to an Oracle 12C Database 该表包含数据类型 TIMESTAMP 其数据如下 22 MAR 15 04 1
  • 胖模型/瘦控制器与服务层[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我多年来一直使用 Net 开发企业应用程序 我的应用程序通常有一个域模型 其中包含映射到 SQL DB 表的实体 我使用存储库模式 依赖注入和服
  • 梯度下降与随机梯度下降算法

    我尝试在 MNIST 手写数字数据集 包括 60K 训练样本 上训练前馈神经网络 我每次都迭代所有训练样本 表演反向传播对于每个时期的每个这样的样本 运行时间当然太长了 我运行的算法是否命名为梯度下降 我读到对于大型数据集 使用随机梯度下降
  • Google Apps 脚本 - createEvent 函数不创建日历事件

    我们正在尝试使用 Google 表单创建在线表单来接受预约请求 这个过程应该是这样的 用户填写表格并提交信息 有效 一封电子邮件会发送到我们的 Gmail 通知我们有新的传入请求 这有效 我们进入谷歌电子表格 有3张 一张名为Request
  • 如何使代理从源重新验证资源

    我的原始服务器在同一台机器上有一个 Nginx 反向代理 我希望代理缓存来自源的动态内容 但是当客户端重新验证资源时 我希望代理也使用源重新验证 而不仅仅是在不检查源的情况下向客户端返回 304 例如 如果我将 max age 设置为 60
  • LibGDX 桌面启动器失败

    我一直在关注this https www youtube com watch v ir6O5hS Qk在线教程 我现在正在看第 2a 集 我尝试跑步DesktopLauncher第一次 我收到了一堆警告和这个错误 任务 desktop De
  • Glassfish 应用程序无法与 Maven 库(gf-client)一起使用

    在学校作业中 我收到了一个使用 JNDI 和 JMS 以及 Glassfish 3 开源版本 的 Netbeans 项目 此应用程序使用的所有 Glassfish 库均通过绝对路径引用 所有其他库 在 lib 文件夹中 均通过相对路径引用
  • 什么数据类型适合在 ActiveX 方法中处理二进制数据?

    我正在为我的朋友编写一个 ActiveX 控件 它应该封装加密例程 主要从 VB6 开始使用 我应该为加密密钥 初始化向量 输入和输出数据等二进制数据选择什么数据类型 以便我的朋友可以方便地从VB6使用它 我正在使用 Delphi 7 来编
  • Python:在 __init__ 中引发异常是一种不好的形式吗?

    在内部提出异常是否被认为是不好的形式 init 如果是这样 那么当某些类变量初始化为时抛出错误的可接受方法是什么None或者类型不正确 引发异常 init 绝对没问题 没有其他好的方法来指示初始化程序中的错误情况 并且标准库中有数百个示例
  • 在共享 Web 服务器上安装 PDFTK

    我的网站托管在 Total Choice Hosting 上 使用某种 Linux 我不知道具体是什么品种 和 Apache 我没有命令行访问权限 我只能通过 PHP 中的 exec 或通过 CRON 作业运行命令行程序 我可以在这样的系统
  • Web 服务代理设置

    在c 4 0 中 我有一个名为ManufacturerContactDetails 的Web 服务 我使用以下命令从 Windows 应用程序调用该 Web 服务 var ws new ManufacturerContactDetailsW
  • 从 TypeScript 扩展数组

    我在下面的代码中做错了什么 我正在尝试延长Array在我的课堂上MyNumberList然后尝试使用它 我看到的是 似乎没有任何项目被添加到列表中 我得到一个undefined当我尝试访问列表元素时 P S 我正在使用 TypeScript
  • 使用单独的数据库进行 papertrail 版本控制

    我正在尝试使用 papertrail 将模型的更改事件记录在单独的数据库中 我在用着 导轨 4 1 2 Ruby 2 1 纸迹 4 0 0 下面是我在关注点中添加的代码 module Foo class Base lt ActiveReco
  • 在 Pyspark 中将列类型从字符串更改为日期

    我正在尝试将列类型从字符串更改为日期 我咨询过以下人士的答案 如何将 DataFrame 中的列类型从字符串更改为日期 https stackoverflow com questions 36948012 how to change the