1 回答

TA貢獻1799條經驗 獲得超6個贊
讓我們假設這個 dataframe
data = pd.DataFrame({'text':['some thing', 'word', 'some more text']})
然后當你運行你的腳本時,你應該得到一個錯誤,因為你傳遞的是一個系列而不是一個字符串......
text = data.loc[:, "text"]
tokenizer = word_tokenize(text)
print(tokenizer)
類型錯誤:預期的字符串或類似字節的對象
word_tokenize 將接受字符串,這就是為什么word_tokenize('some text')會起作用。所以你需要遍歷你的系列:
text = data.loc[:, "text"]
tokenizer = [word_tokenize(text[i]) for i in range(len(text))]
print(tokenizer)
[['some', 'thing'], ['word'], ['some', 'more', 'text']]
如果您仍然遇到類型錯誤,那么很可能不是每個值data['text']都是字符串?,F在讓我們假設這個數據框:
data = pd.DataFrame({'text':['some thing', 'word', 'some more text', 1]})
這個數據幀進行列表解析會無法正常工作,因為你正在試圖通過一個int在word_tokenize
但是,如果您將所有內容更改為字符串,它應該可以工作:
data = pd.DataFrame({'text':['some thing', 'word', 'some more text', 1]})
data['text'] = data['text'].astype(str)
text = data.loc[:, "text"]
tokenizer = [word_tokenize(text[i]) for i in range(len(text))]
print(tokenizer)
[['some', 'thing'], ['word'], ['some', 'more', 'text'], ['1']]
你檢查你的類型 print([type(text[i]) for i in range(len(text))])
添加回答
舉報