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
有什么想法为什么会发生?
我需要句子不带逗号谢谢
答案 0 :(得分:1)
最终,当您使用apply方法时,您将返回TextBlob对象而不是String,而Pandas并不确切知道该如何处理(这就是为什么您会得到奇怪的行为)。
要解决您的问题,只需用str()
将返回的代码括起来即可。您的最终翻译方法如下:
def translate(x):
blob = TextBlob(x)
return str(blob.translate(to='fr'))
和您的输出
col1 col2 translated
0 hola chica 2 salut
1 hello girl 4 bonjour fille