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

问题描述 投票:0回答:2
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

任何想法为什么会这样?

我需要能够使句子没有逗号谢谢

python pandas translation textblob
2个回答
0
投票

只需解析以将翻译后的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

0
投票

最终,当您使用apply方法时,您返回的是TextBlob对象而不是String,而Pandas并不确切知道该如何处理(这就是为什么您会得到奇怪的行为的原因。

为了解决您的问题,只需将要返回的代码括在str()中即可。您的最终翻译方法如下:

def translate(x):
    blob = TextBlob(x)
    return str(blob.translate(to='fr'))
© www.soinside.com 2019 - 2024. All rights reserved.