从pyspark列中删除十进制值
我有一个pyspark dataframe列,其中有一些值是字符串,一些值是数字,如下所示-从pyspark列中删除十进制值,pyspark,Pyspark,我有一个pyspark dataframe列,其中有一些值是字符串,一些值是数字,如下所示- Source_ids abc_123 1234.0 345 abc_cad K-123 540.0 456.0 我想把小数部分去掉。所以结果应该是 Source_ids abc_123 1234 345 abc_cad K-123 540 456 我们不能将此列设为长类型,因为它也有文本。如何实现它?使用regexp\u replace。将\..*$替换为空字符串' 此表达式查找点,并替换其后的所有
Source_ids
abc_123
1234.0
345
abc_cad
K-123
540.0
456.0
我想把小数部分去掉。所以结果应该是
Source_ids
abc_123
1234
345
abc_cad
K-123
540
456
我们不能将此列设为长类型,因为它也有文本。如何实现它?使用
regexp\u replace
。将\..*$
替换为空字符串'
此表达式查找点
,并替换其后的所有内容
from pyspark.sql.functions import *
df.withColumn("Source_ids", regexp_replace('Source_ids', '\..*$', '')).show()
使用
regexp\u replace
。将\..*$
替换为空字符串'
此表达式查找点
,并替换其后的所有内容
from pyspark.sql.functions import *
df.withColumn("Source_ids", regexp_replace('Source_ids', '\..*$', '')).show()