[英]How to detect language of a dataframe object?
我想在我的數據框評論中創建一個新列,給出對象類型的列文本的語言。
我嘗試轉換為字符串,然后使用 langdetect 中的檢測函數,但是當我運行代碼時仍然出現類型錯誤。
我不明白這個問題哈哈
我的代碼:
from langdetect import detect
review['langue'] = detect((review['text']).astype(str))
實際結果 :
--------------------------------------------------------------------------
TypeError Traceback (most recent call last)
TypeError: expected string or bytes-like object
如果我正確理解你的問題,你需要
from langdetect import detect
review['langue'] = review['text'].apply(detect)
detect
函數期望str
作為參數,而不是pd.Series
。 相反,您應該將detect
功能應用於review['text']
pd.Series
每個元素。
添加到kvorobieb提供的答案中,您可以創建一個函數,以便即使檢測在給定文本中找不到任何字母表也能正常工作:
from langdetect import detect
def detect_my(text):
try:
return detect(text)
except:
return 'unknown'
review['langue'] = review['text'].apply(detect_my)
您可以使用以下代碼來檢測每一行的語言
for index, row in df['text'].iteritems():
lang = detect(row) #detecting each row
df.loc[index, 'language'] = lang
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.