如何更改pyspark中多列的类型?

Fen*_*hen 0 python select types casting pyspark

我正在研究pyspark。我想像这样更改列类型:

df1=df.select(df.Date.cast('double'),df.Time.cast('double'),
          df.NetValue.cast('double'),df.Units.cast('double'))
Run Code Online (Sandbox Code Playgroud)

您可以看到 df 是一个数据框,我选择了 4 列并将它们全部更改为 double。由于使用 select,所有其他列都将被忽略。

但是,如果 df 有数百列,我只需要更改这 4 列。我需要保留所有列。那么,该怎么做呢?

ags*_*s29 7

尝试这个:

from pyspark.sql.functions import col

df = df.select([col(column).cast('double') for column in df.columns])
Run Code Online (Sandbox Code Playgroud)