2

我正在使用 python 和 pyspark 来扩展 SPSS Modeler。

我想操作〜5000列,因此使用以下构造:

for target in targets:
    inputData = inputData.withColumn(target+appendString, function(target))

这是非常缓慢的。有没有更有效的方法对所有目标列执行此操作?

targets包含要使用的列名列表,function(target)是一个占位符,我可以在其中处理不同的列,例如添加和分割。

如果你能帮助我,我会很高兴:)

熊猫

4

1 回答 1

4

尝试这个 :

inputData.select(
    '*', 
    *(function(target).alias(target+appendString) for target in targets)
)
于 2018-04-23T14:01:03.527 回答