【问题标题】:Remove decimal value from pyspark column从 pyspark 列中删除十进制值
【发布时间】:2020-10-08 01:33:08
【问题描述】:

我有一个 pyspark 数据框列,其中混合了一些值,比如一些是字符串,一些是下面的数字 -

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

我们不能将此列设为长类型,因为它也有文本。我怎样才能实现它?

【问题讨论】:

    标签: pyspark


    【解决方案1】:

    使用regexp_replace。将\..*$ 替换为空字符串''

    此表达式找到dot 并替换之后的所有内容。

    from pyspark.sql.functions import *
    df.withColumn("Source_ids", regexp_replace('Source_ids', '\..*$', '')).show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      相关资源
      最近更新 更多