使用python从文件创建邻接矩阵并以.mat格式保存输出文件

问题描述 投票:-1回答:1

我有一个类似的样本数据集:丰田凯美瑞丰田Avalon本田思域本田雅阁大众帕萨特大众捷达

在此数据集中,我需要计算第一列和第二列中有多少唯一值。然后,对于每个唯一值,有多少值与第二列值相关联。示例 - 丰田与坎比和阿瓦隆有联系。我需要创建一个邻接m * n矩阵,其中m =第一列中唯一值的数量,n =第二列中唯一值的数量。我的最终输出如下:

    Camry   Avalon  Civic   Accord  Passat  Jetta

丰田1 1 0 0 0 0本田0 0 1 1 0 0大众0 0 0 0 1 1

我需要一些关于如何通过python解决这个问题的帮助。

file dictionary multidimensional-array adjacency-matrix
1个回答
0
投票

我不会打电话给你想要的adjacency matrix。但是,可以非常容易地创建所需的结构(请参阅代码中的注释):

import pandas
import StringIO
dataset = '''Toyota Camry
Toyota Avalon
Honda Civic
Honda Accord
Volkswagen Passat
Volkswagen Jetta'''
# read the dataset into DataFrame d
d = pandas.read_csv(StringIO.StringIO(dataset), ' ', header=None, names=(0, 1))
# make output DataFrame x with rows from first and columns from second input column
x = pandas.DataFrame(0, index=d[0].unique(), columns=d[1].unique())
# set the existing combinations to 1
for e in d.itertuples(index=False, name=None):
    x.at[e] = 1
© www.soinside.com 2019 - 2024. All rights reserved.