簡體   English   中英

不支持 / 的操作數類型:python 中的“list”和“int”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM