Проблема с переводом текстовых блоков в фрейм данных pandas - PullRequest
0 голосов
/ 17 июня 2020
This is my Data
d = {'col1': ["hola chica", "hello girl"], 'col2': [2, 4]}
df = pd.DataFrame(data=d)
df

см. Мой Dataframe

Затем я создал эту функцию

def translate(x):
    blob =TextBlob(x)
    return blob.translate(to='fr')

Я назвал ее здесь

df['translated'] = df['col1'].apply(lambda x:translate(x))

Когда я распечатайте мой фрейм данных, чтобы увидеть переведенный столбец. Я получаю результаты с буквой за буквой, за которой следует запятая. Я не могу понять, почему он не показывает предложение

посмотрите, как выглядит моя переведенная колонка

Есть идеи, почему это происходит?

Мне нужно чтобы иметь возможность иметь предложение без запятых спасибо

1 Ответ

1 голос
/ 17 июня 2020

В конечном итоге, когда вы используете метод 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
...