例如,使用 scala 我有一些数据。
val values = Seq(0, 2, 10, 50)
我定义了存储桶,例如。
val buckets = TreeMap[Int, Double]((0, -0.001),
(1, 1.5),
(2, 5),
(3, 20)
然后我希望根据我的值获得存储桶索引,例如。
val result = Seq(0, 1, 2, 3)
在 python 中,这可以通过 np.digitize 完成,在 scala 中我找不到与 Nd4j 或 Breeze 等效的东西。
有没有优化的解决方案?
最佳答案
也许您使用的是较旧的 Breeze 版本。如果您包括:
libraryDependencies += "org.scalanlp" %% "breeze" % "0.13.2"
在您的 .sbt 文件中您可以使用该函数。例如:
import breeze.stats._
val arr1 = Array(-3, 0.5, 1, 1.5, 4)
val arr2 = Array(0, 1, 2)
digitize(arr1, arr2)
它给出
Array(0, 1, 1, 2, 3)
关于java - Scala:相当于 np.digitize 对数据进行分桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55710132/