Pyspark将特定数据类型的所有列都投入到另一种列



我有一个具有一定数量日期列的数据框架。我想将它们全部投入到时间戳上,而不必担心列的确切名称。所以我想要的是:"将所有日期列施放到时间戳并保留相同的列名"

我知道一列将是:

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

您可以使用循环并检测到类型为 date并仅针对这些情况执行铸件。

for col in df.dtypes:
  if(col[1] == 'date'):
    df = df.withColumn(col[0],df[col[0]].cast('timestamp'))

您可以用于循环,然后施放到时间戳

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

相关内容

  • 没有找到相关文章

最新更新