使用 Pandas 进行文本翻译
Text translation with Pandas
我正在尝试使用 python 翻译包含不同语言的不同文本的文本列。我的代码还没有什么特别之处。
import pandas as pd
df = pd.read_excel('D:/path', head=None)
我使用了以下代码:
from googletrans import Translator
translator = Translator()
df['Text to English'] = df['Text'].apply(translator.translate, src='id', dest='en')
但它给了我一个错误:
AttributeError: 'NoneType' object has no attribute 'group'
我搜索了更多其他代码,然后想到了:
from textblob import TextBlob
df['Text to English'] = df['Text'].str.encode('ascii', 'ignore').apply(lambda x: TextBlob(x.strip()).translate(to='en'))
但它给了我一个错误:TypeError: cannot use a string pattern on a bytes-like object
有什么解决办法吗??提前致谢
我认为有 None
或 NaN
s 个值,因此可以通过 notna
:
过滤它们
mask = df['Text'].notna()
df.loc[mask,'Text to English'] = df.loc[mask, 'Text'].apply(translator.translate,
src='id', dest='en')
我正在尝试使用 python 翻译包含不同语言的不同文本的文本列。我的代码还没有什么特别之处。
import pandas as pd
df = pd.read_excel('D:/path', head=None)
我使用了以下代码:
from googletrans import Translator
translator = Translator()
df['Text to English'] = df['Text'].apply(translator.translate, src='id', dest='en')
但它给了我一个错误:
AttributeError: 'NoneType' object has no attribute 'group'
我搜索了更多其他代码,然后想到了:
from textblob import TextBlob
df['Text to English'] = df['Text'].str.encode('ascii', 'ignore').apply(lambda x: TextBlob(x.strip()).translate(to='en'))
但它给了我一个错误:TypeError: cannot use a string pattern on a bytes-like object
有什么解决办法吗??提前致谢
我认为有 None
或 NaN
s 个值,因此可以通过 notna
:
mask = df['Text'].notna()
df.loc[mask,'Text to English'] = df.loc[mask, 'Text'].apply(translator.translate,
src='id', dest='en')