python - PySpark 数据框 : comma to dot

标签 python pyspark apache-spark-sql

我在 float 中使用逗号导入了数据,我想知道如何将逗号“转换”为点。我正在使用 pyspark 数据框,所以我尝试了这个:

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

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

而且绝对行不通。 那么我们可以直接在 spark 的数据框中替换它,还是应该切换为 numpy 类型或其他类型?

谢谢!

最佳答案

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

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

关于python - PySpark 数据框 : comma to dot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44022377/

相关文章:

python - 将 float 舍入为 x 位小数?

python - 在 Python 中使用 Twilio 接收和处理 SMS

python - 为什么有专门的 WindowsError 但没有其他内置操作系统特定的异常?

python - 如何连接两个Spark DataFrame并操作它们的共享列?

pyspark - 插入缺失的日期行并在新行中插入旧值 PySpark

apache-spark - 将功能应用于Spark DataFrame的每一行

scala - 如何将 List[Double] 转换为 Columns?

python - 如何用 Python 覆盖文件中间的一些字节?

apache-spark - 警告 cluster.YarnScheduler : Initial job has not accepted any resources

dataframe - 如何从spark(scala)中的不同年、月、日列获取日期