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

def renaming_columns(headers):
rename_list = dict.fromkeys(headers)
for i in headers:
    display(i)
    rename_list[i] = input("Please enter relevant name: ")
return rename_list

renamed_column_name = renaming_columns(headers)

for i in renamed_column_name:
    datafram = datafram.rename(columns={renamed_column_name.keys()[i]:renamed_column_name[i]})
0
Prakhar Srivastava 29 Авг 2020 в 23:42

2 ответа

Лучший ответ

Поскольку функция renaming_columns возвращает словарь, вы можете использовать словарь для одновременного переименования всех столбцов.

headers = datafram.columns  # current column names
renamed_column_name = renaming_columns(headers)  # get new names

datafram = datafram.rename(columns=renamed_column_name)  # rename all columns
0
Mike67 29 Авг 2020 в 22:04

Если, как вы предложили, datafram - словарь, то это должно работать:

def renaming_columns(headers):
    rename_list = dict.fromkeys(headers)
    for i in headers:
        display(i)
        rename_list[i] = input("Please enter relevant name: ")
        return rename_list

renamed_column_name = renaming_columns(headers)

for i in renamed_column_name:
    datafram[renamed_column_name[i]] = datafram.pop(i)

Однако ваше название этих переменных вводит в заблуждение: rename_list - это словарь, но вы назвали его list; datafram обычно рассматривается как pandas dataframe.

0
fusion 29 Авг 2020 в 21:49