неподдерживаемые типы операндов для /: 'list' и 'int' в Python - PullRequest
0 голосов
/ 09 июля 2019
   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]

1 Ответ

0 голосов
/ 09 июля 2019

Чтобы добавить элементы в список, вы используете метод append .Чтобы разделить каждый элемент в списке и вернуть новый список, вы можете использовать понимание списка, чтобы получить доступ к каждому элементу списка, а не просто разделить весь список.Изменить соответствующие разделы вашего кода следующим образом:

total.append(vector)

и:

rata = [x/jumlah_kata for each x in total]
...