spark数据帧分组值max函数空值

时间:2018-02-02 18:25:52

标签: apache-spark dataframe aggregation

我有一个数据框,其中有' prod_key',' prod_name','销售''卷'。我想得到df的所有描述性统计数据。

groupby_cols = ['prod_key','prod_name']
funs = [F.mean, F.min, F.max,F.count]

aggregate_cols = [ 'Sales','Volume' ]

exprs = [f(F.col(c)) for f in funs for c in aggregate_cols]
df_description = df.groupBy(*groupby_cols).agg(*exprs)

我在max函数results中得到了null值.Min函数工作正常。这有什么不对吗?感谢。

1 个答案:

答案 0 :(得分:0)

  df = df.withColumn("Sales",df["Sales"].cast("float"))\
   .withColumn("Volume",df["Volume"].cast("float"))

df.Sales,df.Volume作为String读入可能是因为有空值。将数据类型从字符串更改为float后,它可以正常工作。