【发布时间】:2021-02-06 17:28:19
【问题描述】:
我有一个代码可以生成由分号分隔的 CSV,没有空格和标题。但是,CSV 包含一系列字符串和浮点值。字符串是文件夹名称。 CSV 数据如下所示:
folder_a;folder_b;33.9
folder_b;folder_c;89.4
folder_a;folder_c;90.2
我的最终目标是将这组 csv 数据转换为邻接矩阵,以便我可以将其输入到 Scikit 中进行层次聚类。
CSV结果的每一行都记录了文件夹名称(folder_x和folder_y)和一个对应的值(可以认为是编辑距离百分比,也就是不需要归一化)。换句话说,CSV 数据提供了填充邻接矩阵所需的值(或者更具体地说,它是一个最小编辑距离表):
| ID | a | b | c |
|---|---|---|---|
| a | 0 | 33.9 | 90.2 |
| b | 33.9 | 0 | 89.4 |
| c | 90.2 | 89.4 | 0 |
我不确定我应该在这里采取什么方法。我应该如何将这些 CSV 数据转换为可以输入 Scikit 的邻接矩阵?请注意,对角线应始终为 0,并且相应的文件夹对(例如 (a,b) 和 (b,a))应具有相同的值。
我知道这里有一个问题 (CSV to adjacency matrix),但作者似乎真的想将其转换为普通数组而不是邻接矩阵。
【问题讨论】:
标签: python csv adjacency-matrix