Textblob翻译问题转化为熊猫数据框

时间:2020-06-16 21:33:53

标签: python pandas translation textblob

This is my Data
d = {'col1': ["hola chica", "hello girl"], 'col2': [2, 4]}
df = pd.DataFrame(data=d)
df

see my Dataframe

然后我创建了此功能

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

有什么想法为什么会发生?

我需要句子不带逗号谢谢

1 个答案:

答案 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