1

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

这是我的数据集的片段:

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
4

1 回答 1

0

从使用CVS 阅读器开始

import csv

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

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

可能应该在开始之前创建输出数组。从这个问题开始,您可以这样做

buckets = [[0 for col in range(5)] for row in range(10)]
于 2012-11-15T00:55:16.317 回答