Pyspark代码,查看所有浮点数的末尾是否为.0

问题描述

我很好奇是否有一个Pyspark代码来查看一列中的所有浮点数是否末尾均为.0或是否有另一个十进制数,例如.1或.2或.5

例如,我想从下面的伪代码中分辨出所有代码是否均以.0结尾或是否存在以不同数字结尾的代码

rmarkdown::render()

解决方法

您可以使用like运算符。 like('%.0')在这里检查float列是否具有以'.0'结尾的值

from pyspark.sql.types import *

df.withColumn("pattern_check",when(col("Score").like('%.0'),True)\
    .otherwise(False)).show()
+-----+-----+-------------+
|Index|Score|pattern_check|
+-----+-----+-------------+
|    0|  2.5|        false|
|    1|  1.7|        false|
|    2|  1.0|         true|
|    3|  3.0|         true|
+-----+-----+-------------+