【问题标题】:Creating a Two-Mode Network创建双模网络
【发布时间】:2012-11-15 00:49:58
【问题描述】:

使用 Python 3.2 我正在尝试将数据从 CSV 文件转换为双模式网络。对于那些不知道这意味着什么的人来说,这个想法很简单:

这是我的数据集的 sn-p:

Project_ID    Name_1    Name_2    Name_3    Name_4 ... Name_150
    1           Jean      Mike
    2           Mike
    3           Joe       Sarah     Mike      Jean        Nick
    4           Sarah     Mike
    5           Sarah     Jean      Mike      Joe

我想创建一个 CSV,将 Project_ID 放在 CSV 的第一行,并将每个唯一名称放在第一列(单元格 A1 为空白),然后在 i,j 单元格中放置一个 1,如果该人从事给定的项目。注意:我的数据有全名(中间首字母),没有两个人有相同的名字,所以不会有任何重复。

最终的数据输出如下所示:

            1             2              3              4              5 
Jean        1             0              1              0              1
Mike        1             1              1              1              1
Joe         0             0              1              0              1
Sarah       0             0              1              1              1
...        ...           ...            ...            ...            ...
Nick        0             0              1              0              0

【问题讨论】:

    标签: python-3.x social-networking


    【解决方案1】:

    首先使用CVS reader

    import csv
    
    with open('some.csv', 'rb') as f:
        reader = csv.reader(f)
        for row in reader:
            print row
    

    请注意,每一行的行将读取为数组。

    应该在开始之前创建输出数组。从this question 开始,您可以这样做

    buckets = [[0 for col in range(5)] for row in range(10)]
    

    【讨论】:

    • 感谢您的想法,它没有按照问题中的说明工作,但也许我遗漏了一些东西。
    • 不确定如何实现以获得所需的输出
    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    相关资源
    最近更新 更多