我有一个FOR循环函数,它迭代表和列列表(zip)以获得最小值和最大值。每个组合的输出是分开的,而不是一个单独的数据帧/表。有没有一种方法可以将FOR循环的结果组合成函数中的一个最终输出?在from pyspark.sql import functions as f
def minmax(tables, cols):
for table, column in zip(tables, cols):
minmax = spark.table(table).where(col(column).isNotNull()).select(f.lit(table).alias("table"), f.lit(column).alias("col"), min(col(column)).alias("min"),
max(col(column)).alias("max"))
minmax.show()
^{pr2}$
函数的输出:+---------+-----+---+---+
| table| col|min|max|
+---------+-----+---+---+
|sales_123|costs| 0|400|
+---------+-----+---+---+
+----------+-----+---+---+
| table| col|min|max|
+----------+-----+---+---+
|sales_REW |price| 0|400|
+----------+-----+---+---+
期望输出:+---------+-----+---+---+
| table| col|min|max|
+---------+-----+---+---+
|sales_123|costs| 0|400|
|sales_REW|price| 0|400|
+---------+-----+---+---+