在数据框pyspark的多列上应用函数

时间:2018-08-16 21:27:08

标签: apache-spark pyspark

我有一个30列的数据框。但是我想专门在3列上应用一个函数。我做了这样的事情:

# these are the 3 columns of a dataframe df and they are of StringType
date_columns = ['date1', 'date2', 'date3']

# my function
def convert_date(x):
    if x is '':
        return ''
    else: 
        return f.expr("date_add(to_date('1899-12-30'), cast(x as int))").cast(StringType())

# Want to do something like this
for c in date_columns:
    df = df.withColumn(c, convert_date(df[c]))

这是实现此目标的正确方法吗?也许我在这里错过了一些东西。

0 个答案:

没有答案