Чтобы отсортировать DataFrame Pandas по списку, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:
-
Использование метода
sort_values():df.sort_values(by=my_list) -
Создание нового столбца с числовым представлением порядка списка и сортировка по этому столбцу:
df['sort_order'] = df['column_name'].apply(lambda x: my_list.index(x)) df.sort_values(by='sort_order', inplace=True) -
Использование типа данных
Категорическийдля указания порядка:df['column_name'] = pd.Categorical(df['column_name'], categories=my_list, ordered=True) df.sort_values(by='column_name', inplace=True) -
Создание словаря для сопоставления элементов списка с числовыми значениями и сортировки по этим значениям:
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) -
Использование метода
reindex()с отсортированным списком:df = df.reindex(my_list)
Эти методы предоставляют различные способы сортировки DataFrame Pandas на основе заданного списка. Выберите тот, который лучше всего соответствует вашим конкретным требованиям.