我们将保留此简短的帖子,但很高兴在必要时添加更多上下文/详细信息。我有一个如下所示的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/