Перевод набора статистических данных с испанского языка на английский с использованием PythonPython

Программы на Python
Ответить
Anonymous
 Перевод набора статистических данных с испанского языка на английский с использованием Python

Сообщение Anonymous »

У меня есть большой набор данных на испанском языке в Stata, содержащий более 2500 переменных, и я хочу перевести его на английский язык. Многие из этих переменных имеют форму меток значений. Я использую API Google для перевода. На данный момент я просто взял 10 наблюдений и 2 переменные (p4 и p5), которые имеют метки значений, и попытался написать код для их перевода. Однако существует проблема с переводом меток значений. В моем исходном наборе данных переменная p4 имеет следующие значения меток:
4 Educación Básica o Preparatoria completa
6 Educación Media o Humanidades completa
7 Instituto Profesional o Centros de Formación Técnica incompl
8 Instituto Profesional o Centros de Formación Técnica complet
9 Universitaria incompleta
10 Universitaria completa


Однако переведенный набор данных (переменная p4) показывает следующие метки:
0 Полное базовое или среднее образование
1 Среднее образование или полное гуманитарное образование
2 Незавершенные профессиональные институты или центры технического обучения
3 Профессиональные институты или центры технического обучения
4 незаконченный университет
5 Законченный университет
По сути, числа в метках значений не записываются правильно в окончательный набор данных, который снова находится в формате dta. Как мне изменить свой код Python, чтобы решить эту проблему?
Ниже приведен мой код. Пожалуйста, предложите, как изменить это, чтобы решить вышеуказанную проблему.
import pandas as pd
from googletrans import Translator, LANGUAGES

# Initialize the translator
translator = Translator()

# Step 1: Read the Stata dataset into Python
df = pd.read_stata('C:\\transl_trial.dta')

# Step 2: Identify the variables with value labels
columns_to_translate = ['p4', 'p5']

from pandas.api.types import CategoricalDtype

# Step 3: Translate the value labels
for col in columns_to_translate:
# Extract value labels for the column
value_labels = df[col].cat.categories.tolist()
print(value_labels)
translations = {}
for label in value_labels:
# Translate from Spanish to English
translated_text = translator.translate(label, src='es', dest='en').text
translations[label] = translated_text
print(translations)
# Replace the original categories with their translated versions
df[col] = df[col].replace(translations).astype('category')

output_path = r'C:\\translated_dataset.dta'
df.to_stata(output_path, write_index=False)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»