将Textblob转换为数据帧的问题

2024-10-01 00:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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

知道为什么会这样吗

我需要不带逗号的句子谢谢


Tags: dfdataismy字母thisblobtranslate
1条回答
网友
1楼 · 发布于 2024-10-01 00:18:52

最终,当您使用apply方法时,您返回的是一个TextBlob对象而不是字符串,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

相关问题 更多 >