簡體   English   中英

如何檢測數據框對象的語言?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM