У меня большой массив данных со многими именами переменных длиной более 32 символов. Поскольку я хочу экспортировать df в STATA, который имеет ограничение в 32 символа на имя переменной, мне нужно изменить имена переменных в df и соответствующем словаре, содержащем те же имена переменных и их метки. Мне нужна помощь с последним.
Поскольку у меня много переменных, которые начинаются с одного и того же имени, я подумал о том, чтобы изменить их через a для l oop.
Рассмотрим следующие имена переменных:
- variable_name_is_too_long_1
- variable_name_is_too_long_50
Желаемый вывод:
- variable_is_too_long_1
- variable_is_too_long_50
Что я сделал:
for i in [col for col in df if col.startswith('variable_name_')]:
df.rename(columns={i:i.replace('_name','',1)},inplace=True)
dict_labels[i.replace('_name','',1)] = dict_labels.pop(i)
Столбцы переименованы правильно. Однако со словарем dict_labels ничего не происходит (ошибки не выдается), и я не могу объяснить это, поскольку входные данные кажутся правильными. Любой другой, более эффективный способ приветствуется! Спасибо за вашу помощь!