scala - 如何替换所有数字和“。” 通过 Dataframes spark scala 中列的“”
问题描述
如何替换所有数字和“。” 即所有十进制数字应替换为Dataframes spark scala中列的“”)
例如:+56.5
或者-64.83
应该被替换为空字符“”
我正在关注
regexp_replace(col("col1"),"\\+|\\-|\\.|0|1|2|3|4|5|6|7|8|9", "")
有没有其他更好的方法来做到这一点
谢谢
解决方案
import org.apache.spark.sql.functions._
val df = meta.core.DataCore.spark.createDataFrame(Seq(
(0, "+56.5"),
(1, "-64.83"),
(2, "+12.1234"),
(3, "13"),
(4, "-10.0"),
(5, "2"),
(6, "0")
)).toDF("id", "all_digitals")
df
.withColumn("not_decimals", when(col("all_digitals").contains("."), "").otherwise(col("all_digitals")))
.show()
结果是:
+---+------------+------------+
| id|all_digitals|not_decimals|
+---+------------+------------+
| 0| +56.5| |
| 1| -64.83| |
| 2| +12.1234| |
| 3| 13| 13|
| 4| -10.0| |
| 5| 2| 2|
| 6| 0| 0|
+---+------------+------------+
推荐阅读
- ios - associatedtype 协议一致性问题
- c# - 立即打开 excel,无需使用 interop.excel 将 excel 保存到本地路径
- php - 如何在不影响 SEO 的情况下将 HTML 包含在另一个 HTML 中?
- shell - 寻找更新项目内部环境变量的最佳实践
- javascript - 如何在 React Native 中“绘制”可触摸的分段环、曲线或弧线以构建现代组件
- amazon-web-services - AWS api 网关与 AWS SQS 集成中的具体格式消息属性是什么?
- mongodb - 安装在 ubuntu 上的 MongoDB 不工作(错误:活动失败)
- javascript - 从当前范围内的另一个文件执行函数
- java - 如何为 CloseableHttpClient httpClient = getHttpClient() 编写 JUnit 测试?
- javascript - 如何将id传递给for循环中的span元素