在sql中是否有pyspark函数或like的替代函数

qq24tv8q  于 2023-01-29  发布在  Spark
关注(0)|答案(1)|浏览(172)

我有一个 Dataframe 的所有列的python列表,如下所示。

['Timestamp',
 'ScheduleCode__VALUE',
 'ScheduleCode__i:nil',
 'ProductionCode__VALUE',
 'ProductionCode__i:nil',
 'ProductCode__VALUE',
 'ProductCode__i:nil',
 'ProductCategory__VALUE',
 'ProductCategory__i:nil']

我需要删除上面列表中以__i:nil结尾的所有列,并将具有__value的所有列重命名为仅其前缀,如ProductCode__VALUE应重命名为ProductCode。

6vl6ewon

6vl6ewon1#

试试这个:

column_list = ['Timestamp',
 'ScheduleCode__VALUE',
 'ScheduleCode__i:nil',
 'ProductionCode__VALUE',
 'ProductionCode__i:nil',
 'ProductCode__VALUE',
 'ProductCode__i:nil',
 'ProductCategory__VALUE',
 'ProductCategory__i:nil']

for element in column_list:
    if(element.endswith('__Value')):
        df = (
            df.withColumnRenamed(element, element.split('__')[0])
        )
df = df.drop(*[element for element in column_list if element.endswith('__i:nil')])

相关问题