【问题标题】:create adjacency matrix from a file using python and save output file in a .mat format使用 python 从文件创建邻接矩阵并将输出文件保存为 .mat 格式
【发布时间】:2019-04-08 05:47:10
【问题描述】:

我有一个与此类似的示例数据集: 丰田凯美瑞 丰田阿瓦隆 本田思域 本田雅阁 大众帕萨特 大众捷达

在这个数据集中,我需要计算第一列和第二列中有多少个唯一值。然后对于每个唯一值,有多少值与第二列值连接。示例 - 丰田与 Camby 和 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】:

我不会将您想要的称为adjacency matrix。但是,可以很容易地制作所需的结构(参见代码中的 cmets):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 2015-10-28
    相关资源
    最近更新 更多