如何根据条件执行转换



我有一个数据帧,我想根据列的数据类型执行转换。

根据列的数据类型,我想将其转换为JSON字符串。

我尝试过使用,但其他情况似乎不起作用。

这就是我要做的,

>>> dtype = df.dtypes[0][1]
>>> dtype
'string'
>>> df.withColumn('json_col', when(dtype=='string', 'value').otherwise(to_json('value')))

我收到以下语句错误

类型错误:条件应该是列

任何帮助都将不胜感激。

谢谢。

在这种情况下使用if

df2 = df.withColumn('json_col', col('value') if dtype=='string' else to_json('value'))

最新更新