【问题标题】:Filling a numpy zero array with distances between 2D coordinates [duplicate]用二维坐标之间的距离填充一个numpy零数组[重复]
【发布时间】:2019-12-09 19:12:01
【问题描述】:

我认为以前有人问过这个问题,但我正在尝试实现以下内容:我有一个元组列表,其中包含我拥有的 N 个粒子的 2D 坐标。我已经定义了一个 numpy.zeros((N,N)) 数组来存储它们之间的距离。我怎样才能最快地做到这一点?

提前感谢您的帮助! :)

编辑添加:我已经编写了一个函数来测量两个元组之间的距离,并且想知道如何迭代它!

我的测距功能:

def calc_distance(p1, p2):
    distance = numpy.linalg.norm(p1 - p2)
    return distance

【问题讨论】:

    标签: python python-3.x numpy numpy-ndarray


    【解决方案1】:

    距离矩阵就是你要找的:

    coords = [(0,0), (1,1), (3,2)]
    
    from scipy.spatial import distance_matrix
    
    distance_matrix(coords, coords)
    

    输出:

    array([[0.        , 1.41421356, 3.60555128],
           [1.41421356, 0.        , 2.23606798],
           [3.60555128, 2.23606798, 0.        ]])
    

    【讨论】:

    • 嘿,谢谢一百万,这正是我想要的!编辑:有没有办法用 numpy 做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2015-10-22
    • 2011-07-28
    相关资源
    最近更新 更多