This is my Data
d = {'col1': ["hola chica", "hello girl"], 'col2': [2, 4]}
df = pd.DataFrame(data=d)
df
然后我创建了此功能
def translate(x):
blob =TextBlob(x)
return blob.translate(to='fr')
我在这里叫它
df['translated'] = df['col1'].apply(lambda x:translate(x))
当我打印数据框以查看翻译后的列时,我得到的结果是一个字母一个字母,后面跟逗号。我不知道为什么它不显示句子
see how my column translated looks like
任何想法为什么会这样?
我需要能够使句子没有逗号谢谢
只需解析以将翻译后的TextBlob对象字符串化:
def translate(x):
blob =TextBlob(x)
return str(blob.translate(to='fr'))
df['translated'] = df['col1'].apply(lambda x:translate(x))
输出:
col1 col2 translated
0 hola chica 2 salut
1 hello girl 4 bonjour fille
最终,当您使用apply方法时,您返回的是TextBlob对象而不是String,而Pandas并不确切知道该如何处理(这就是为什么您会得到奇怪的行为的原因。
为了解决您的问题,只需将要返回的代码括在str()
中即可。您的最终翻译方法如下:
def translate(x):
blob = TextBlob(x)
return str(blob.translate(to='fr'))