Pyspark 在Pypark按小时分组?

Pyspark 在Pypark按小时分组?,pyspark,apache-spark-sql,Pyspark,Apache Spark Sql,我有一个dataframe,它包含字符串格式的时间列 数据帧= time value 00:00:00 10 00:23:00 5 00:59:00 23 01:23:34 34 01:56:00 34 每次我尝试按时间列的小时分组时,它都会给出如下输出:- hour count 0 38 1 68 但我想这样出去

我有一个dataframe,它包含字符串格式的时间列

数据帧=

      time         value
      00:00:00      10
      00:23:00      5
      00:59:00      23 
      01:23:34      34
      01:56:00      34
每次我尝试按时间列的小时分组时,它都会给出如下输出:-

 hour    count
  0       38
  1       68
但我想这样出去

 hour    count
  00       38
  01       68
为此,我编写了如下查询:-

    dataframe.groupBy(hour('time')).agg({'value':'count'})
引用

由于您的时间列位于
StringType
中,因此我们可以使用
子字符串
获取您想要的时间,并将其分组为
StringType

from pyspark.sql.functions import substring, col

df = df.withColumn("hour", substring(F.col("time"), 0, 2))
group_df = df.groupby("hour").sum("value") # or whichever aggregation you want

我想你是在努力求和,而不是求数。