【发布时间】:2021-05-21 05:38:00
【问题描述】:
我有一个包含矢量化数据的 numpy 数组。我需要比较这些向量中的每一个(数组中的一行)与自身和每隔一行的欧几里得距离。
向量的形式为
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
我知道我需要两个循环,这是我目前所拥有的
def euclidean_distance_loop(termdoc):
i = 0
j = 0
matrix = np.array([])
while( j < (len(termdoc-1))):
matrix = np.append(matrix,[euclidean_distance(termdoc[i],termdoc[j])])
j = j + 1
return np.array([matrix])
euclidean_distance_loop(termdoc)
我知道这是一个索引问题,我需要另一个索引或另一个循环中的递增索引,但不知道如何构造它
【问题讨论】:
-
您能否提供数据样本和预期结果?这个问题会更容易理解
-
数据是逐个文档的矩阵,其中每一行都是一个向量。该函数是获取每一行并将 row[0] 与自身和所有其他行进行比较,然后将 row[1] 与所有行及其自身进行比较,row[2] 与所有其他行及其自身进行比较。我的问题是我不知道如何更新我认为的外部和内部循环的索引
-
看看 Divakar 的这个 wiki:https://github.com/droyed/eucl_dist/wiki/Main-Article#prospective-method