我有一个关于PageRank如何显示“体重”影响的问题。我想用贸易价值作为权重来计算贸易国家的PageRank,我的代码如下所示。但我发现结果与未加权的结果相同。我不知道为什么。
有人可以帮我理解如何在PageRank计算中显示“重量”吗?
using Excel = Microsoft.Office.Interop.Excel;
private void button1_Click(object sender, EventArgs e)
{
ofd.Filter = "xlsx|*.xlsx|xls|*.xls";
if(ofd.ShowDialog() == DialogResult.OK)
{
textBox2.Text = ofd.FileName;
Excel.Application excel = new Excel.Application();
Excel.Workbook wb = excel.Workbooks.Open(textBox2.Text);
Excel.Worksheet ws = wb.Sheets[1];
Excel.Range xlRange = ws.Cells[0, 0];
Debug.WriteLine("===" + xlRange.Interior.Color);
}
}
答案 0 :(得分:0)
我是在自己寻找答案之后才遇到这个问题的。对我有用的是简单地在Pagerank参数旁边添加weight = True命令,例如为网络中所有节点建立页面排名得分:
ORIENTATION
唯一的问题可能是您使用与我不同的方法来读取边缘列表。我建议使用nx.read_weighted_edgelist功能加载图形的节点和边缘数据。您的excel文件应包含三列,其中包含源节点,目标节点和边缘权重的相邻值(不包括标题,并以.csv格式保存)。然后,您可以使用以下命令加载数据,以确保它可以与pagerank一起正常工作:
pagerank_dict = dict(nx.pagerank(G, weight=True)