【问题标题】:Get average date value from pyspark dataframe从 pyspark 数据框中获取平均日期值
【发布时间】:2020-10-15 03:20:17
【问题描述】:

我有一个带有以下架构的产品数据的 df

root
 |-- Creator: string (nullable = true)
 |-- Created_datetime: timestamp (nullable = true)
 |-- Last_modified_datetime: timestamp (nullable = true)
 |-- Product_name: string (nullable = true)

Created_datetime 的列如下所示

+-------------------+
|   Created_datetime|
+-------------------+
|2019-10-12 17:09:18|
|2019-12-03 07:02:07|
|2020-01-16 23:10:08|

现在我想提取Created_datetime 列中的平均值(或与现有平均值最接近的值)。如何实现?

【问题讨论】:

    标签: apache-spark pyspark apache-spark-sql


    【解决方案1】:

    当您计算timestamp 列的平均值时,它会为您提供unix timestamp (long) 的平均值。将其转换回timestamp

    from pyspark.sql.functions import *
    from pyspark.sql import functions as F
    
    df.agg(F.avg("Created_datetime").cast("timestamp").alias("avg_created_datetime")).show()
    +--------------------+                                                          
    |avg_created_datetime|
    +--------------------+
    | 2019-11-30 23:27:11|
    +--------------------+
    

    【讨论】:

      猜你喜欢
      • 2021-09-25
      • 2023-02-21
      • 2023-02-09
      • 2023-01-19
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多