私はキーと値の頻度カウントを見つけることを試みているフィルタを作成しようとしています。コードブロックの1つを試している間、私は以下のエラーの難しさに直面しています。Key_Value count filters Dictionary
データは約twitterユーザーとそれぞれのキーワードです。私はユーザーのツイート数の頻度と各ユーザーが投稿したユニークなキーワードの数を取得しようとしています。データセットには約1000秒の行があり、Inputには20行しか表示されません。
入力
tweetcricscore 7.15E+17 3/30/2016 #wt20
tweetcricscore 7.15E+17 3/30/2016 #sausvsvic
tweetcricscore 7.15E+17 3/30/2016 #wt20
tweetcricscore 7.15E+17 3/30/2016 #sausvsvic
tweetcricscore 7.14E+17 3/28/2016 #wt20
tweetcricscore 7.14E+17 3/28/2016 #sausvsvic
tweetcricscore 7.14E+17 3/27/2016 #wt20
tweetcricscore 7.14E+17 3/27/2016 #sausvsvic
tweetcricscore 7.14E+17 3/27/2016 #wt20
tweetcricscore 7.14E+17 3/27/2016 #sausvsvic
tweetcricscore 7.14E+17 3/26/2016 #wt20
tweetcricscore 7.14E+17 3/26/2016 #canvsnk
tweetcricscore 7.14E+17 3/26/2016 #wt20
tweetcricscore 7.14E+17 3/26/2016 #sausvsvic
tweetcricscore 7.14E+17 3/26/2016 #wt20
tweetcricscore 7.14E+17 3/26/2016 #sausvsvic
tweetcricscore 7.14E+17 3/26/2016 #wt20
tweetcricscore 7.14E+17 3/26/2016 #sausvsvic
tweetcricscore 7.13E+17 3/23/2016 #wt20
tweetcricscore 7.13E+17 3/23/2016 #indvsban
コード:
with open('filter_1.csv', 'rb') as inp,open('filter_2.csv', 'wb') as out:
writer = csv.writer(out)
'''for row in csv.reader(inp):
l.append(row[0])'''
for row in csv.reader(inp):
try:
key_val = row[0],row[3]
d[key_val] +=1
except Exception as e:
pass
od = collections.OrderedDict(sorted(d.items()))
for key,values in od.iteritems():
writer.writerow([key[0],l.count(key[0]),key[3],values])
予想される出力
tweetcricscore 234 #afgvssco 51
tweetcricscore 234 #afgvszim 46
tweetcricscore 234 #banvsire 12
tweetcricscore 234 #banvsned 46
tweetcricscore 234 #canvsnk 1
tweetcricscore 234 #cricket 178
tweetcricscore 234 #engvswi 46
tweetcricscore 234 #hkvssco 23
tweetcricscore 234 #indvsban 1
tweetcricscore 234 #sausvsvic 8
tweetcricscore 234 #wt20 56
私は次のようになっていますエラー
28
29 for key,values in od.iteritems():
---> 30 writer.writerow([key[0],l.count(key[0]),key[3],values])
32
IndexError: tuple index out of range
コードはプロセスプログラムの一部であり、この部分は入力をフィルタリングする際にエラーが表示されます。 何か提案がありがとうございます。おかげで事前
'key_val = row [0]、row [3]'は2つの項目を含むタプルです。 'writer.writerow([key [0]、l.count(key [0])、key [3]、values])'は4番目の項目を指します。したがって、エラーが発生します。 – Quinn
@ccf私はこの1つでいくつかの助けを使用することができますhttp://datascience.stackexchange.com/questions/11440/multi-model-data-set-visualization-python –