[英]unsupported operand type(s) for /: 'list' and 'int' in python
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
類型錯誤:不支持 / 的操作數類型:'list' 和 'int'
我的代碼在對每個向量求和時的問題變成總數以及求平均值時。 當我如下聲明時,沒有錯誤,但結果不應該是。
total=[100]
kalimat=row[0]
vector=[100]
rata=[100]
要將元素添加到列表,請使用append方法。 要划分列表中的每個元素並返回一個新列表,您可以使用列表理解來訪問列表中的每個元素,而不僅僅是划分整個列表。 修改代碼的相關部分,如下所示:
total.append(vector)
和:
rata = [x/jumlah_kata for each x in total]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.