我有地图colValues: Map[Int, String]
,数据将是:
(15043 -> "226", 15044 -> "NA", 15045 -> "36", 15046 -> "0", 15047 -> "47", 15048 -> "NA")
我想用";NA";至";0";对于colValues
,我们不需要其他变量。换句话说,处理后的colValues
将是:
(15043 -> "226", 15044 -> "0", 15045 -> "36", 15046 -> "0", 15047 -> "47", 15048 -> "0")
您只需要一个map
colValues.map { case (a, b) => if (b == "NA") a -> "0" else a -> b }
您可以使用mapValues
:执行此操作
colValues.view.mapValues(v => if (v == "NA") "0" else v).toMap
更可能的情况是,您希望转换为Map[String, Int]
。一种方法是
colValues.view.mapValues(_.toIntOption.getOrElse(0)).toMap