python - 如何使用 Pyspark 将字符串列转换为十进制列
问题描述
我有一个带有字符串列的数据框,我需要将其转换为十进制。以下是数据示例:
我尝试了以下方法:
df_line_items = df_line_items.withColumn("product_sold_price", df_line_items.product_sold_price.cast("decimal(3,2)"))
,但它只是使所有值都为空。感谢任何想法。谢谢
解决方案
尝试使用 Double 而不是使用十进制 - 这应该可以解决您的所有问题。
df_line_items = df_line_items.withColumn("product_sold_price", df_line_items.product_sold_price.cast("double"))
推荐阅读
- unix - 文件共享读/写权限
- xamarin - 如何在 Xamarin 的 ImageView 中设置图像的旋转角度?
- javascript - 显示超链接(如果适用)
- sql - 共享条件下高效查询数据
- python - 为什么pd.DataFrame每一项的类型都是float,而pd.DataFrame的dtype是object?
- java - 为什么不推荐基于 AtomicInteger 的 Stream 解决方案?
- vhdl - 基于 4 位加法器的 VHDL 4 位乘法器
- ios - iOS:将 Cocoapods 从动态库迁移到静态库
- javascript - 基于路径展平/减少嵌套 JSON,收集路径/层次结构中的字段
- javascript - 二次贝塞尔曲线数学