Loading

python欧式距离矩阵

对于一个dataframe,需要求每个数据样条中,彼此之间的距离差为多少。
即计算两两之差,形成距离矩阵
随机生成一个4*4的dataframe
import numpy as np
import pandas as pd
a = np.random.randint(10, 100, size=16).reshape((4,4))
b = pd.Dateframe(a)
计算每个样条之间的距离差为多少。
# 创建一个容器,存储每一行距离
mydis_ed_Means = []
# 先确定第一行的
for i in range(0, len(b)): # len(b)表示dataframe的长度
# 储存每第一个样条与各个样条之间的距离 dis_ed_Means
= [] for j in range(0, len(b)):
# 判断是不是在对角线上
if i != j: ed = np.sqrt(np.sum((b.iloc[i,:] - b.iloc[j,:]) ** 2)) dis_ed_Means.append(ed) else: ed_1 = 0 dis_ed_Means.insert(i, ed_1) mydis_ed_Means.append(dis_ed_Means)
posted @ 2022-07-03 17:35  system_T  阅读(703)  评论(0)    收藏  举报