2017-04-10 2 views
0

これは私がやろうとしていることです。 PythonでAprioriを書く。コードは数年前のもので、以前は私のために働いていました。 Py3.0用のビットとピースを更新していました。最初のステップの1つは、候補セットを作成することです。マップ関数中にPythonコードがハングする

df2 = pd.read_csv("editdf.csv", index_col= False) 
df2.head() 

dataset example

私はこれを呼び出す:

データセットは次のようになります

Ap = apriori("editdf.csv",100) 
print(Ap) 

しかし、出力がありません。私はいくつかのデバッグオプションを試してきたので、Printステートメントで散らばっています。

def create_candidate_item_set(dataset_file): 
    print ("Candidate Item stage") 
    candidate_item_list = defaultdict(int) 
    baskets = [] 
    counter =0 
    print ("starting with") 
    with open(dataset_file) as file: 
     for line in file: 
      print ("inside with") 
      num_list = map(int,input().split()) 
      print ("this is", str(counter)) 
      baskets.append(num_list) 
      counter +=1 
      num_list 
     for item in num_list: 
      candidate_item_list[item] = 1 if item not in candidate_item_list else candidate_item_list[item]+1 
    print ("got baskets") 
    return candidate_item_list, baskets 

が、私はそれに指を置くことが重要しかしできない何かに欠けています感じる:それはそう問題は、コードの全体的な部分は、不正なコード片がある ある

num_list = map(int,input().split()) 

であります。事前にありがとう

+0

'stdin'データを' input() 'ステートメントに与えていますか? – cdarke

+1

ファイルを1行ずつループしますが、カウンタの行数以外の内容は使用しません。それはあなたが欲しいものですか? –

+0

@cdarke少しマッサージされた標準データセット。私は同じ写真を添付し​​ました。 – Viks

答えて

1

python 3では、マッピングするときに明示的にリストに変換する必要があります。したがって

num_list = list(map(int,input().split())) 

する必要があります。

+0

上記を行いました。これは助けにはなりません。私はまだラインからの出力がありません。 iPythonカーネルはまだ5分ほどビジー状態であり、私はそれが掛かっていると感じています。 – Viks

関連する問題