使用GraphFrames在具有边权重的有向图上计算PageRank



假设我使用GraphFrames来构造一个有向图g,该图的边权重来自正实数。然后我想在考虑边缘权重的情况下计算PageRank。我看不出如何通过查看graphframes.GraphFrame.pageRank的文档来实现这一点。调用results = g.pageRank(resetProbability=0.15, maxIter=10)将计算PageRank,但据我所知,假设边缘权重为1。我说得对吗?

将其与networkx.algorithms.link_analysis.pagerank_alg.pagerank进行比较,后者允许在具有边权重的有向图上计算PageRank,请参阅文档。

感谢您的阅读,并感谢您的帮助。

我认为我们可能可以先"压平"数据。

val df = Seq((1,2,3),(2,3,4),(3,4,1)).toDF("src", "dst", "weight")
val getArray = udf[Seq[Int], Int] {x => (1 to x).toList.toSeq}
val flatDf = df 
.withColumn("dummy1", getArray(col("weight"))) 
.withColumn("dummy2", explode(col("dummy1"))).select("src", "dst")

相关内容

  • 没有找到相关文章

最新更新