繁体   English   中英

Scala Spark中两个数组之间的叉积

[英]Cross product between two arrays in Scala Spark

考虑scala-spark中的两个数组

val mole_1 = Array(2.0,1.0,0.0,0.0,0.0,0.0)
val mole_2 = Array(2.0,2.0,0.0,0.0,0.0,0.0)

现在,两个数组进行元素逐个乘法的有效方法是

val dot_Mole = (mole_1, mole_2).zipped.map(_ * _).sum

Which yields  >> 6.0

一个人如何使用压缩映射来实现这些数组之间的叉积给>> 12.0

zipped, map and reduce

您可以这样:

val dot_mole = Mole_1.map{ x => Mole_2.map(b => b * x)}.flatten.sum
dot_mole: Double = 12.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM