PySpark数据帧:逗号到d

2024-09-27 07:30:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经导入了用逗号表示浮点数的数据,我想知道如何将逗号“转换”为点。我正在使用pyspark dataframe,因此我尝试了以下操作:

commaToDot = udf(lambda x : str(x).replace(',', '.'), FloatType())

myData.withColumn('area',commaToDot(myData.area))

这肯定行不通。 所以,我们可以直接替换spark中的dataframe,还是应该换成numpy类型或其他类型?在

谢谢!在


Tags: 数据lambda类型dataframeareareplacepyspark逗号
2条回答

我想你失踪了

from pyspark.sql.types import FloatType

正如Pushkr建议的那样,如果不将结果转换为float,则带有replace的udf将返回字符串列

^{pr2}$

我使用了单列文件,在spark 2.11/python3.6上进行了测试

另一种方法(不使用UDF)是:

myData = myData.withColumn('area', regexp_replace('area', ',', '.').cast('float'))

相关问题 更多 >

    热门问题