Если у вас уже есть список имен столбцов с двойным типом данных , то следующий шаг - удалить специальные символы, которые можно сделать, используя .isalnum()
credit как
removedSpecials = [''.join(y for y in x if y.isalnum()) for x in double_list]
как только вы удалите список имен столбцов из специальных символов, просто вызовите .withColumnRenamed()
api как
for (x, y) in zip(double_list, removedSpecials):
df = df.withColumnRenamed(x, y)
df.show(truncate=False)
должен дать вам переименованный фрейм данных в столбцах с двойным типом данных
Если вы не хотите, чтобы столбцы отсутствовали в double_list, то есть не были в списке двойных типов данных, вы можете использовать select как
df.select(*removedSpecials).show(truncate=False)
причина сделать
for (x, y) in zip(double_list, removedSpecials):
df = df.withColumnRenamed(x, y)
перед тем как сделать
df.select(*removedSpecials).show(truncate=False)
в том, что могут быть специальные символы , такие как .
, которые не дают кратких решений, таких как df.select([df[x].alias(y) for (x, y) in zip(double_list, removedSpecials)]).show(truncate=False)
для работы
Надеюсь, ответ полезен