首页 > 解决方案 > pyspark 将某种数据类型的所有列转换为另一个

问题描述

我有一个包含一定数量日期列的数据框。我想将它们全部转换为时间戳,而不必担心列的确切名称。所以我想要的是:“将所有日期列转换为时间戳并保持相同的列名”

我知道对于一列它将是:

df = df.withColumn('DATUM', df['DATUM'].cast('timestamp'))

标签: pythonpysparkpyspark-sql

解决方案


您可以使用 for 循环,并转换为时间戳

df.select(
    *[df[col_name].cast('timestamp') for col_name in df.columns]
)

推荐阅读