小编Tur*_*ner的帖子

如何按索引重命名 PySpark 数据框列?(处理重复的列名)

我有一个问题,我需要动态更新 Spark 数据框中的列。

基本上我需要遍历列列表,如果该列已经存在于列表中,则将其重命名为该列及其索引。

我尝试的代码是这样的:

def dup_cols(df):
  for i, icol in enumerate(df.columns):
    for x, xcol in enumerate(df.columns):
      if icol == xcol and i != x:
        df = df.withColumnsRenamed(xcol, xcol + '_' + str(x))
  return df
Run Code Online (Sandbox Code Playgroud)

但这按名称重命名(此处为xcol),因此无法解决我的问题。

我可以更改此设置以按索引重命名数据框中的列吗?我已经搜索了很长时间,但一无所获。

我也无法转换为 Pandas 数据帧,因此我需要一个 Spark/PySpark 解决方案来仅通过索引重命名特定列。

谢谢!

python dataframe apache-spark pyspark

5
推荐指数
1
解决办法
3815
查看次数

标签 统计

apache-spark ×1

dataframe ×1

pyspark ×1

python ×1