1

Python 3.2 を使用して、CSV ファイルのデータを 2 モード ネットワークに変換しようとしています。それが何を意味するのか分からない人にとっては、考え方は簡単です:

これは私のデータセットのスニペットです:

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

Project_IDs を CSV の最初の行に配置し、それぞれの一意の名前を最初の列 (セル A1 は空白) に配置し、その人が特定のプロジェクトに取り組んでいる場合は i,j セルに 1 を配置する CSV を作成したいと考えています。注: 私のデータにはフル ネーム (ミドル ネームのイニシャル) があり、同じ名前の人が 2 人いないため、重複はありません。

最終的なデータ出力は次のようになります。

            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 に答える