"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso classificar uma coluna Pandas Dataframe com base em um dicionário?

Como posso classificar uma coluna Pandas Dataframe com base em um dicionário?

Postado em 2025-03-25
Navegar:805

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

Classificação personalizada em pandas DataFrames

em pandas, às vezes você pode precisar classificar um DataFrame com base em um pedido personalizado. Isso pode ser alcançado usando um dicionário para definir a ordem de classificação desejada. Você deseja classificar esta coluna usando um dicionário personalizado, como:

custom_dict = {'march': 0, 'abril': 1, 'deC': 3}
Solução:

Série, que fornece uma maneira elegante de lidar com este cenário:
custom_dict = {'March':0, 'April':1, 'Dec':3}

converte a coluna do mês em uma série categórica, especificando a ordem personalizada:

df ['m'] = pd.categorical (df ['m'], "March" ""] = pd.categorical (df ['m'], "" "" "DEC"])


Classifique o DataFrame com base na coluna categórica:

    df.sort_values ​​("m")
  1. Série intermediária para obter classificação personalizada:

    custom_dict = {'March':0, 'April':1, 'Dec':3}
  2. Aplicar o dicionário personalizado à coluna do mês:
  3. s = df ['m']. Série intermediária:

    df.sort_values("m")
  4. Nas versões mais recentes do Pandas, a série oferece um método de substituição que permite uma solução mais concisa:

df ['m']. Substituir ({'march': 0, 'abril': 1, 'decester': 3} esse método ': 1, 1,' Decesting ': 3}) Classificar o DataFrame com base na coluna Month Month alcançará o pedido personalizado desejado.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3