You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark中如何将带逗号的字符串浮点数转为Float类型?

解决PySpark中带逗号小数点的字符串转float问题

原因很明确:你的cost列数值用逗号作为小数点分隔符,而Spark默认只识别.作为小数点,直接cast无法解析这种格式,所以返回null。

解决方案是先把逗号替换成点,再转换为float类型:

  1. 导入所需函数
from pyspark.sql.functions import regexp_replace
  1. 替换分隔符并转换类型
df = df.withColumn('cost', regexp_replace(df.cost, ',', '.').cast('float'))

执行后查看结果:

df.show()

输出:

+----+-----+
|cost|label|
+----+-----+
|31.2|  foo|
|33.1|  bar|
+----+-----+

内容的提问来源于stack exchange,提问作者Fluxy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:05:22