«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу настраиваться сортировать столбец DataFrame Pandas на основе словаря?

Как я могу настраиваться сортировать столбец DataFrame Pandas на основе словаря?

Опубликовано в 2025-03-25
Просматривать:352

How Can I Custom Sort a Pandas DataFrame Column Based on a Dictionary?

пользовательскую сортировку в Pandas DataFrames

в Pandas, иногда вам может потребоваться сортировка DataFrame на основе пользовательского порядка. Это может быть достигнуто с помощью словаря для определения желаемого порядка сортировки.

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

custom_dict = {'March':0, 'April':1, 'Dec':3}

Решение:

invidence serien который обеспечивает элегантный способ обработки этого сценария:

    преобразовать столбец месяца в категориальную серию, указав пользовательский заказ:
  1. df ['m'] = pd.categorical (df ['m'], [март "," апрель "Dec"])

    df['m'] = pd.Categorical(df['m'], ["March", "April", "Dec"])
  2. сортировку DataFrame на основе категориального столбца:
  3. df.sort_values ​​("m")

    df['m'] = pd.Categorical(df['m'], ["March", "April", "Dec"])

применить пользовательский словарь к месяцу. серия посредников: s.sort_values ​​()

  1. установите индекс данных DataFrame в сортированную посредническую серию и сортировку:

    df.set_index (s.index). Метод заменить:
    df['m'] = pd.Categorical(df['m'], ["March", "April", "Dec"])
    В новых версиях пандов серия предлагает метод замены, который допускает более краткое решение:
  2. df ['m']. Заменить ({'март': 0, 'апрель': 1, 'dec': 3})

    Этот метод заменяет значения Mountboding Screating Sorting Screting. Сортировка DataFrame на основе модифицированного месяца будет достигнет желаемого пользовательского порядка.
    ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3