Pyspark - 按列表循环数据帧列

问题描述 投票:0回答:2

pyspark 新手。只是尝试简单地循环变量列表中存在的列。这是我尝试过的,但不起作用。

column_list = ['colA','colB','colC']
for col in df:
   if col in column_list:
      df = df.withColumn(...)
   else:
      pass

这肯定是循环的问题。我觉得我在这里错过了一些非常简单的东西。我在每列上独立执行 df 操作,它运行干净,即。

df = df.withColumn(...'colA').withColumn(...'colB').withColumn(...'colC')
pyspark
2个回答
2
投票

使用以下代码片段

column_list = ['colA','colB','colC']
for col in df.columns:
   if col in column_list:
      df = df.withColumn(....)
   else:
      pass

0
投票

下面的列表理解版本是什么?

column_list = ['colA','colB','colC'] for col in df.columns: if col in column_list: df = df.withColumn(....) else: pass

© www.soinside.com 2019 - 2024. All rights reserved.