我有一个图表,其中包含边缘列表和节点坐标。例如,
import numpy as np
edge = np.random.randint(100, size=[100,2])
node = np.random.rand(100,2)
我需要找到所有边缘的长度。到目前为止,我一直在使用以下功能(我最好的镜头!),它运行得很好但不适用于非常大的图形:
def GetLengths(node, edge):
li = node[edge]
arr = np.linalg.norm(li[:,0]-li[:,1],axis=1)
return arr, np.mean(arr)
是否还有其他更好的实现(=更快)?我主要从事二维工作,但我很欣赏可以推广到更高维度的方法。