运行fasttext形成文本的时候,出现了下面的问题:
# coding=utf-8
import pandas as pd
import numpy as np
import fasttext
from sklearn import metrics
with open('train_abstract.txt','w',encoding='utf-8') as f:
for i in range(len(X_train.todense())):
str1 = str(X_train.todense()[i])+"\t"+"__label__"+str(y_train.values[i])+'\n'
f.write(str1)
with open('test_abstract.txt','w',encoding='utf-8') as f:
for i in range(len(X_test)):
str1 = str(X_test.values[i])+"\t"+"__label__"+str(y_test.values[i])+'\n'
f.write(str1)
AttributeError Traceback (most recent call last)
<ipython-input-38-1b98cdb96387> in <module>()
7 with open('train_abstract.txt','w',encoding='utf-8') as f:
8 for i in range(len(X_train.todense())):
----> 9 str1 = str(X_train.todense()[i])+"\t"+"__label__"+str(y_train.values[i])+'\n'
10 f.write(str1)
11
AttributeError: 'list' object has no attribute 'values'
请教大家如何解决这个问题。
list没有values属性,如果y_train已被转换成了一个列表,可用pd.Series再转换成一维数组结构,就可用values属性。
x=[1,2,3,5]
print(pd.Series(x).values)
y_train是列表,没有.values属性,改成y_train[i]试试
str1 = str(X_train.todense()[i])+"\t"+"__label__"+str(y_train[i])+'\n'
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
dict(y_train)试试
把.values去掉,直接用y_train[i]取值就可以了
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!