您好,我有一个包含文本的数据框列。我想使用 fasttext 模型来进行预测。我可以通过将文本数组传递给 fasttext 模型来实现此目的。
import fasttext
d = {'id':[1, 2, 3], 'name':['a', 'b', 'c']}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)
我从系列中删除了“\n”
name_list = df['name'].tolist()
name_list = [name.strip() for name in name_list]
Run Code Online (Sandbox Code Playgroud)
并做出预测model.predict(name_list)
然而,我得到了ValueError: predict processes one line at a time (remove '\n')
我的列表中没有 '\n' 并且'\n' in name_list返回False
我还发现了一个有类似问题的帖子,但仍然遇到同样的错误。
predictions=[]
for line in df['name']:
pred_label=model.predict(line, k=-1, threshold=0.5)[0][0]
predictions.append(pred_label)
df['prediction']=predictions
Run Code Online (Sandbox Code Playgroud)
小智 7
在给出 model.predict(name_list) 之前,尝试给出一个 for 循环:
for item in name_list:
item = item.replace("\n"," ")
model.predict(item)
Run Code Online (Sandbox Code Playgroud)