python3.x—我想获取pysparkDataframe中列的最小值

b5buobof  于 2021-05-29  发布在  Spark
关注(0)|答案(2)|浏览(312)

我想用compare\u at\u price的最小值创建一个新列。如果数据包含值,我们可以通过 sumList1 = udf(lambda c: min(c), IntegerType()) . 但是我在Dataframe的某些行中使用逗号。

+--------------------+

|    compare_at_price|

+--------------------+

|               [,,,]|

|                  []|

|               [,,,]|

|[89.95, 89.95, 89.95|

|                  []|

|                  []|

你能帮我解决吗!

chhqkbe1

chhqkbe11#

首次导入

import org.apache.spark.sql.functions.{min, max}

然后,

df.agg(min("compare_at_price")).show()
k5ifujac

k5ifujac2#

您可以通过以下方式找到arraytype列的最小值:

from pyspark.sql.functions import col,array_min

resultDF = df.select(array_min(col("compare_at_price")).alias('min_price'))

resultDF.show(False)

相关问题