python中/:'list'和'int'的操作数类型不受支持

2024-09-27 02:21:38 发布

您现在位置: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

TypeError: unsupported operand type(s) for /: 'list' and 'int'

我的代码在对每个向量求和以及求平均值时都会出现问题。当我声明如下没有错误,但结果不是他们应该的。你知道吗

    total=[100]
    kalimat=row[0]
    vector=[100]
    rata=[100]

Tags: csvimportrefordatamodelrowtotal
1条回答
网友
1楼 · 发布于 2024-09-27 02:21:38

要向列表中添加元素,可以使用append方法。要分割列表中的每个元素并返回一个新列表,可以使用列表理解来访问列表中的每个元素,而不仅仅是分割整个列表。修改法典的相关章节:

total.append(vector)

以及:

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

相关问题 更多 >

    热门问题