Сортировка фрейма данных Pandas по списку: объяснение нескольких методов

Чтобы отсортировать DataFrame Pandas по списку, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:

  1. Использование метода sort_values():

    df.sort_values(by=my_list)
  2. Создание нового столбца с числовым представлением порядка списка и сортировка по этому столбцу:

    df['sort_order'] = df['column_name'].apply(lambda x: my_list.index(x))
    df.sort_values(by='sort_order', inplace=True)
  3. Использование типа данных Категорическийдля указания порядка:

    df['column_name'] = pd.Categorical(df['column_name'], categories=my_list, ordered=True)
    df.sort_values(by='column_name', inplace=True)
  4. Создание словаря для сопоставления элементов списка с числовыми значениями и сортировки по этим значениям:

    sort_dict = {value: index for index, value in enumerate(my_list)}
    df['sort_order'] = df['column_name'].map(sort_dict)
    df.sort_values(by='sort_order', inplace=True)
  5. Использование метода reindex()с отсортированным списком:

    df = df.reindex(my_list)

Эти методы предоставляют различные способы сортировки DataFrame Pandas на основе заданного списка. Выберите тот, который лучше всего соответствует вашим конкретным требованиям.