python求两个坐标点的距离_python – 数据集中2个点之间的最大距离并标识点

如果你有scipy,你对大多数matlab核心函数都有精确的等价:

from numpy import random, nanmax, argmax, unravel_index

from scipy.spatial.distance import pdist, squareform

A = random.randint(-5,5, (500,3))

D = pdist(A)

D = squareform(D);

N, [I_row, I_col] = nanmax(D), unravel_index( argmax(D), D.shape )

您也可以使用itertools在纯python中获取它:

from itertools import combinations

from random import randint

A = [[randint(-5,5) for coord in range(3)] for point in range(500)]

def square_distance(x,y): return sum([(xi-yi)**2 for xi, yi in zip(x,y)])

max_square_distance = 0

for pair in combinations(A,2):

if square_distance(*pair) > max_square_distance:

max_square_distance = square_distance(*pair)

max_pair = pair

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值