【发布时间】:2019-07-09 14:37:33
【问题描述】:
import re
import csv
import gensim
import pandas as pd
def processing(kata):
words=re.sub(r'([^\s\w]|_)', '', str(kata))
words= re.sub(r'[0-9]+', '', words)
return words
#fp = open('data/data.csv', 'r',)
path = './model_terbaru/idwiki_word2vec_100.model'
model = gensim.models.word2vec.Word2Vec.load(path)
data = pd.read_csv('data/coba_data1.csv',encoding = "ISO-8859-1")
hehe=list(data)
#print(data.head())
for index,row in data.iterrows():
total=[]
kalimat=row[0]
vector=[]
rata=[]
words=re.sub(r'([^\s\w]|_)', '', str(kalimat))
words= re.sub(r'[0-9]+', '', words)
for word in words.split():
kata=word.lower()
try:
vector=model[""+kata+""]
total=vector+total
print(vector)
print(total)
print(kata)
except:
pass
jumlah_kata=len(words.split())
print(jumlah_kata)
#ok=open('data/vector_training.csv','a')
rata=total/jumlah_kata
#tulis=csv.writer(ok,lineterminator='\n')
#tulis.writerows([rata])
print(rata)
#ok.close()
rata=total/jumlah_kata
TypeError: /: 'list' 和 'int' 的操作数类型不受支持
当对每个向量求和时,我的代码的问题变成了总和,在平均时也是如此。当我声明如下时,没有错误,但结果不是应有的。
total=[100]
kalimat=row[0]
vector=[100]
rata=[100]
【问题讨论】:
-
您需要遍历列表中的每个元素。
-
请阅读How to Ask。这个问题缺少很多东西:minimal reproducible example,完整的错误信息和实际问题
标签: python arrays list loops average