неподдерживаемые типы операндов для /: 'list' и 'int' в pyhton - PullRequest
0 голосов
/ 05 июля 2019

У меня есть некоторые проблемы с кодом, которые он не может обработать списки данных и int. но сначала он смог произвести данные CSV по строке 27 ... но потом он не может ... что не так с hasil = всего / ката

import gensim
#import pandas as  pd
import re
import csv
import numpy as np
def processing(kata):
    words=re.sub(r'([^\s\w]|_)', '', kata)
    words= re.sub(r'[0-9]+', '', words)
    return words
def data():
    path = './model_terbaru/idwiki_word2vec_100.model'
    model = gensim.models.word2vec.Word2Vec.load(path)
    fp = open('data/data_train.csv', 'r')
    line = fp.readline()
    while line:
        processed = processing(line)
        print (processed)
        kata=len(processed.split())
        print(kata)
        total=[100]
        print(total)
        for word in processed.split():
            try:
                vector=model[""+word+""]
                print(vector)
                total=total+vector
                print(word)
            except:
                pass
        hasil=total/kata
        print(hasil)
        mylist= hasil 
        ok=open('data/vector_train.csv','a')
        a=csv.writer(ok,lineterminator='\n')
        a.writerows([mylist])
        ok.close()
        line = fp.readline()
    fp.close()

data()

Hasil = общее / кат Ошибка типа: неподдерживаемые типы операндов для /: 'list' и 'int'

, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 05 июля 2019
 for word in processed.split():
    #for line in fp:
        try:
            vector=model[""+word+""]
            print(vector)
            total=total+vector
            print(word)
        except:
            pass
    if kata is not 0 :
        hasil = [x/kata for x in total]
    #hasil=total/kata
        print(hasil)
        mylist= hasil 
        ok=open('data/vector_train.csv','a')
        a=csv.writer(ok,lineterminator='\n')
        a.writerow([mylist])
        line = fp.readline()
        ok.close()
    else:
        print('tes')

теперь мой код такой, но непрерывное слово считается 0

...