【发布时间】:2021-02-27 08:19:28
【问题描述】:
我正在编写一个函数并希望传递它的参数以在数据框中创建列。
例如;
def whatever(datain, knots):
knots_length = len(knots)
knot_names = ["knot_" + str(num1) for num1 in range(1, knots_length+1)]
datain = datain.withColumn("var"+knot_names[1], whatever.....)
通过这样做,我没有看到最后一列“var_knot_1”被创建。你知道如何正确完成这项工作吗?非常感谢。
【问题讨论】:
-
Spark 数据帧是不可变的。换句话说,函数内部的
datain与函数外部的datain不同。所以你需要在函数内部return它,并将它分配给你原来的datain。
标签: apache-spark pyspark apache-spark-sql