我们将保留此简短的帖子,但很高兴在必要时添加更多上下文/详细信息。我有一个如下所示的PythonRDD:

print(myRDD)
PythonRDD[4] at RDD at PythonRDD.scala:43

print(myRDD.take(1))
[[0.305, 0.302, -0.005, 0.302]]

print(myRDD.collect())
[[0.305, 0.302, -0.005, 0.302],
 [0.294, 0.183, 0.084, 0.277],
 [0.184, 0.997, -1.123, 0.654]]


3个列表中的每个列表都包含2x2矩阵的4个值。我想将这三个矩阵加在一起,因此我想在myRDD上使用一些reduce函数,使得输出为:

[[.783, 1.482, -1.044, 1.233]]


.783 = .305 + .294 + .184等,我尝试这样做:

myRDD.reduce(lambda a, b: a + b)


但是,这并没有给我我想要的东西。任何帮助表示赞赏!谢谢!

最佳答案

您需要的是以下几行内容-

myRDD.reduce(lambda a, b: [a[0] + b[0], a[1]+b[1],a[2]+b[2],a[3]+b[3]])

关于python - 将列表的PythonRDD简化为一个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44350805/

10-10 05:08