Scala:相当于np.digitize来对数据进行存储桶

时间:2019-04-16 14:06:03

标签: java python scala numpy bucket

例如,使用scala我有一些数据。

val values = Seq(0, 2, 10, 50)

例如,我定义了存储桶。

val buckets = TreeMap[Int, Double]((0, -0.001),
                                   (1, 1.5),
                                   (2, 5),
                                   (3, 20)

然后我想从我的值中获取buckets索引,例如。

val result = Seq(0, 1, 2, 3)

在python中,可以使用np.digitize完成,在scala中,我找不到与Nd4j或Breeze等效的文件。

对此有优化的解决方案吗?

1 个答案:

答案 0 :(得分:1)

也许您使用的是旧版Breeze。如果您包括:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js" />
<script>
var hidWidth;
var scrollBarWidths = 40;
...

在您的.sbt文件中,您可以使用该功能。例如:

libraryDependencies += "org.scalanlp" %% "breeze" % "0.13.2"

它给出

import breeze.stats._

val arr1 = Array(-3, 0.5, 1, 1.5, 4)
val arr2 = Array(0, 1, 2)

digitize(arr1, arr2)