如何根据pyspark数据帧中的条件转换日期格式?

用户8592125

我的数据框具有字符串格式的日期,如下所示:

day_date
8/28/2020
9/21/2019
11/21/2020
12/12/2019

我想以某种方式格式化此列,如果它与模式2020-11-25 04:02:08匹配,则它应格式化为yyyy-mm-dd(2020-11-25),如果其格式为11/25 / 2020 02:04:08,然后mm / dd / yyyyy(11/25/2020)

我一直用来实现这一目标的代码是:

new_df = df.withColumn("new_date", when (df['day_date'].rlike('\d{1,2}/\d{1,2}/\d{4}\s*[\d:]*'),date_format('day_date','mm/dd/yyyy')) \
.when (df['day_date'].rlike('\d{4}-\d{1,2}-\d{1,2}\s*[\d:]*'),date_format('day_date','yyyy-mm-dd')) \
.otherwise(lit(None)))

但是在执行时,仅获取Null。

还有其他方法可以做到这一点吗?

注意:数据可能包含也可能不包含时间信息。

麦克
new_df = df.withColumn("new_date",
    F.when(
        F.to_timestamp('day_date','MM/dd/yyyy HH:mm:ss').isNotNull(), 
        F.date_format(
            F.to_timestamp('day_date','MM/dd/yyyy HH:mm:ss'),
            'MM/dd/yyyy'
        )
    ).when(
        F.to_timestamp('day_date','yyyy-MM-dd HH:mm:ss').isNotNull(), 
        F.date_format(
            F.to_timestamp('day_date','yyyy-MM-dd HH:mm:ss'),
            'yyyy-MM-dd'
        )
    ).when(
        (F.to_date('day_date','yyyy-MM-dd').isNotNull() |
         F.to_date('day_date','MM/dd/yyyy').isNotNull()), 
        F.col('day_date')
    )
)

# Example data:
+-------------------+----------+
|           day_date|  new_date|
+-------------------+----------+
|2020-11-25 04:02:08|2020-11-25|
|11/25/2020 02:04:08|11/25/2020|
|         11/21/2020|11/21/2020|
+-------------------+----------+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何转换数据帧中的时间格式?

来自分类Dev

将数据帧转换为日期格式

来自分类Dev

R如何根据后续行中的条件过滤数据帧?

来自分类Dev

如何根据R中向量的值转换数据帧的列?

来自分类Dev

需要将整个列从字符串格式转换为数据帧中的日期格式

来自分类Dev

Pyspark:如何编码复杂数据帧算法问题(根据条件求和)

来自分类Dev

Pyspark + 关联规则挖掘:如何将数据帧转换为适合频繁模式挖掘的格式?

来自分类Dev

如何根据不同数据帧中的开始日期和结束日期从时间序列中提取数据?

来自分类Dev

根据日期合并长格式的两个数据帧

来自分类Dev

如何根据熊猫数据框中的条件选择日期

来自分类Dev

根据日期和时间条件熊猫数据帧删除行

来自分类Dev

如何根据索引然后根据条件选择数据帧的行?

来自分类Dev

根据条件将pyspark数据帧拆分为多个数据帧

来自分类Dev

如何根据来自同一数据帧的多个列中的多个条件在数据帧中创建新列

来自分类Dev

根据列中特定值的计数条件过滤出spark数据帧的行[pyspark中的spark.sql语法]

来自分类Dev

如何从pyspark中的spark数据帧行中解析和转换json字符串

来自分类Dev

如何验证Pyspark中列的日期格式?

来自分类Dev

如何从 PySpark 中的 RDD 创建数据帧?

来自分类Dev

如何根据R中多于1列的条件对数据帧中的行重新排序?

来自分类Dev

在R中,如何根据两个日期之间的时间段合并数据帧?

来自分类Dev

如何从pyspark中的spark数据帧行转换具有多个键的JSON字符串?

来自分类Dev

如何在R Shiny中对数据帧进行条件格式化?

来自分类Dev

R中的数据帧中的条件转换数据

来自分类Dev

R - 如何根据条件向量对存储在列表中的所有数据帧进行子集

来自分类Dev

根据条件分割数据帧

来自分类Dev

如何计算pyspark数据帧中值的条件概率?

来自分类Dev

如何将R数据帧中的时间戳转换为日期

来自分类Dev

如何在pyspark中将密集向量转换为数据帧?

来自分类Dev

如何在pyspark中将嵌套字典转换为数据帧?

Related 相关文章

  1. 1

    如何转换数据帧中的时间格式?

  2. 2

    将数据帧转换为日期格式

  3. 3

    R如何根据后续行中的条件过滤数据帧?

  4. 4

    如何根据R中向量的值转换数据帧的列?

  5. 5

    需要将整个列从字符串格式转换为数据帧中的日期格式

  6. 6

    Pyspark:如何编码复杂数据帧算法问题(根据条件求和)

  7. 7

    Pyspark + 关联规则挖掘:如何将数据帧转换为适合频繁模式挖掘的格式?

  8. 8

    如何根据不同数据帧中的开始日期和结束日期从时间序列中提取数据?

  9. 9

    根据日期合并长格式的两个数据帧

  10. 10

    如何根据熊猫数据框中的条件选择日期

  11. 11

    根据日期和时间条件熊猫数据帧删除行

  12. 12

    如何根据索引然后根据条件选择数据帧的行?

  13. 13

    根据条件将pyspark数据帧拆分为多个数据帧

  14. 14

    如何根据来自同一数据帧的多个列中的多个条件在数据帧中创建新列

  15. 15

    根据列中特定值的计数条件过滤出spark数据帧的行[pyspark中的spark.sql语法]

  16. 16

    如何从pyspark中的spark数据帧行中解析和转换json字符串

  17. 17

    如何验证Pyspark中列的日期格式?

  18. 18

    如何从 PySpark 中的 RDD 创建数据帧?

  19. 19

    如何根据R中多于1列的条件对数据帧中的行重新排序?

  20. 20

    在R中,如何根据两个日期之间的时间段合并数据帧?

  21. 21

    如何从pyspark中的spark数据帧行转换具有多个键的JSON字符串?

  22. 22

    如何在R Shiny中对数据帧进行条件格式化?

  23. 23

    R中的数据帧中的条件转换数据

  24. 24

    R - 如何根据条件向量对存储在列表中的所有数据帧进行子集

  25. 25

    根据条件分割数据帧

  26. 26

    如何计算pyspark数据帧中值的条件概率?

  27. 27

    如何将R数据帧中的时间戳转换为日期

  28. 28

    如何在pyspark中将密集向量转换为数据帧?

  29. 29

    如何在pyspark中将嵌套字典转换为数据帧?

热门标签

归档