我可以知道是否可以在arrays_zip函数中使用变量/数组吗? 例如我声明和数组 array1 = [“ col1”,“ col2”]
然后在数据框中。我写以下内容: df.withColumn(“ zipped”,arrays_zip(array1)) 然后告诉我这不是一个有效的参数,不是字符串或列
有人知道吗?
答案 0 :(得分:0)
您可以尝试以下类似方法,它应该可以工作:
from pyspark.sql.functions import arrays_zip
df_zip = df.withColumn(
"zipped", arrays_zip("column_1", "column_2")
)
df_zip.select("zipped").show(truncate=False)
根据定义:
pyspark.sql.functions.arrays_zip(*cols)[source]
集合函数:返回结构的合并数组,其中第N个结构包含输入数组的所有第N个值。
参数 cols –要合并的数组的列。
集合函数:返回结构的合并数组,其中第N个结构包含输入数组的所有第N个值。
参数 cols –要合并的数组的列。
其他参考:
希望有帮助。
答案 1 :(得分:0)
使用以下内容:
array = [“ col1”,“ col2”]
df.select(arrays_zip(* [c表示数组中的c]])。show()
谢谢