首页 > 解决方案 > 如何使用 Pyspark 将字符串列转换为十进制列

问题描述

我有一个带有字符串列的数据框,我需要将其转换为十进制。以下是数据示例:

在此处输入图像描述

我尝试了以下方法:

df_line_items = df_line_items.withColumn("product_sold_price", df_line_items.product_sold_price.cast("decimal(3,2)"))

,但它只是使所有值都为空。感谢任何想法。谢谢

标签: pythondataframepysparkdatabricks

解决方案


尝试使用 Double 而不是使用十进制 - 这应该可以解决您的所有问题。

df_line_items = df_line_items.withColumn("product_sold_price", df_line_items.product_sold_price.cast("double"))


推荐阅读