Как изменить типы нескольких столбцов в pyspark? - PullRequest
0 голосов
/ 01 апреля 2019

Я просто изучаю pyspark.Я хочу изменить типы столбцов следующим образом:

df1=df.select(df.Date.cast('double'),df.Time.cast('double'),
          df.NetValue.cast('double'),df.Units.cast('double'))

Вы можете видеть, что df - это фрейм данных, и я выбираю 4 столбца и меняю их все на двойные.Из-за использования select все остальные столбцы игнорируются.

Но, если у df есть сотни столбцов, и мне просто нужно изменить эти 4 столбца.Мне нужно сохранить все столбцы.Итак, как это сделать?

Ответы [ 2 ]

1 голос
/ 01 апреля 2019
for c in df.columns:
    # add condition for the cols to be type cast
    df=df.withColumn(c, df[c].cast('double'))
0 голосов
/ 01 апреля 2019

Попробуйте это:

from pyspark.sql.functions import col

df = df.select([col(column).cast('double') for column in df.columns])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...