val coords1 DataSetCoord = envfromElementsCoord145Coord267 val coords2DataSetCoord = envfromElementsCoord389Coord41011 指定针对数据集的转换操作 val distances = coords1crosscoords2 c1c2 = val dist = maths
上述代码首先创建了两个数据集coords1和coords2,分别包含了两个Coord对象。
接下来使用cross操作符对这两个数据集进行了笛卡尔积操作,并指定了一个转换函数:
(c1, c2) => {
val dist = math.sqrt(math.pow(c1.x - c2.x, 2) + math.pow(c1.y - c2.y, 2))
(c1.id, c2.id, dist)
}
该转换函数计算了两个Coord对象之间的欧几里德距离,并返回了一个元组 (c1.id, c2.id, dist)。
最后,将结果保存在distances数据集中。
输出结果如下:
(1,3,5.0)
(1,4,8.602325267042627)
(2,3,4.242640687119285)
(2,4,7.280109889280518)
原文地址: https://www.cveoy.top/t/topic/i1dj 著作权归作者所有。请勿转载和采集!