回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我使用熊猫导入了以下CSV数据帧(数值为距离)</p>
<pre><code>Forest,Bell Bay,Surrey Hills,Smithton,Hobart
Coupe 1,158,194,10,49
Coupe 2,156,169,71,84
Coupe 3,10,186,101,163
Coupe 4,47,94,134,139
Coupe 5,144,61,135,56
Coupe 6,27,27,134,36
Coupe 7,114,4,143,113
Coupe 8,71,170,190,140
Coupe 9,94,54,73,128
Coupe 10,46,194,92,36
</code></pre>
<p>通过使用以下代码</p>
<pre><code>df= pd.read_csv("Example.csv", header=0, index_col="Forest")
</code></pre>
<p>我创建了一个我使用的森林列表:</p>
<pre><code>I = df.index.tolist()
</code></pre>
<p>结果:</p>
<pre><code>['Coupe 1', 'Coupe 2', 'Coupe 3', 'Coupe 4', 'Coupe 5', 'Coupe 6', 'Coupe 7', 'Coupe 8', 'Coupe 9', 'Coupe 10']
</code></pre>
<p>以及目的地J的列表,使用:</p>
<pre><code>J = df.columns.values.tolist()
</code></pre>
<p>结果:</p>
<pre><code>['Bell Bay', 'Surrey Hills', 'Smithton', 'Hobart']
</code></pre>
<p>元组(圆弧)列表是使用以下方法创建的:</p>
<pre><code>arcs = [(i, j) for i in I for j in J]
</code></pre>
<p>结果:</p>
<pre><code>[('Coupe 1', 'Bell Bay'), ('Coupe 1', 'Surrey Hills'), ('Coupe 1', 'Smithton'), ('Coupe 1', 'Hobart'), ('Coupe 2', 'Bell Bay'), ('Coupe 2', 'Surrey Hills'), ('Coupe 2', 'Smithton'), ('Coupe 2', 'Hobart'), ('Coupe 3', 'Bell Bay'), ('Coupe 3', 'Surrey Hills'), ('Coupe 3', 'Smithton'), ('Coupe 3', 'Hobart'), ('Coupe 4', 'Bell Bay'), ('Coupe 4', 'Surrey Hills'), ('Coupe 4', 'Smithton'), ('Coupe 4', 'Hobart'), ('Coupe 5', 'Bell Bay'), ('Coupe 5', 'Surrey Hills'), ('Coupe 5', 'Smithton'), ('Coupe 5', 'Hobart'), ('Coupe 6', 'Bell Bay'), ('Coupe 6', 'Surrey Hills'), ('Coupe 6', 'Smithton'), ('Coupe 6', 'Hobart'), ('Coupe 7', 'Bell Bay'), ('Coupe 7', 'Surrey Hills'), ('Coupe 7', 'Smithton'), ('Coupe 7', 'Hobart'), ('Coupe 8', 'Bell Bay'), ('Coupe 8', 'Surrey Hills'), ('Coupe 8', 'Smithton'), ('Coupe 8', 'Hobart'), ('Coupe 9', 'Bell Bay'), ('Coupe 9', 'Surrey Hills'), ('Coupe 9', 'Smithton'), ('Coupe 9', 'Hobart'), ('Coupe 10', 'Bell Bay'), ('Coupe 10', 'Surrey Hills'), ('Coupe 10', 'Smithton'), ('Coupe 10', 'Hobart')]
</code></pre>
<p>接下来,我要创建以下类型的圆弧和距离值字典:</p>
<pre><code>{('Coupe 1', 'Bell Bay'): 158, ('Coupe 1', 'Surrey Hills'):194, .....}
</code></pre>
<p>有谁能建议制定这本词典的最佳方法吗?
这只是组合矩阵中I(10)和J(4)的一小部分。我的方法必须适用于超过1000万个I*J组合的大型数据集。
非常感谢您的帮助</p>