ホームページ >バックエンド開発 >Python チュートリアル >ディクショナリで定義されたカスタム順序に基づいて Pandas DataFrame 列を並べ替えるにはどうすればよいですか?

ディクショナリで定義されたカスタム順序に基づいて Pandas DataFrame 列を並べ替えるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-28 06:57:10461ブラウズ

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

辞書を使用した DataFrame の並べ替えのカスタマイズ

pandas DataFrame を使用する場合、カスタム基準に基づいてデータを並べ替える必要がある状況が発生する場合があります。 。一般的なシナリオは、事前定義された順序に基づいて月を表す値を持つ列を並べ替えることです。

これを実現するには、1 つのアプローチは、Pandas 0.15 で導入された Categorical シリーズを利用することです。月の列をカテゴリ系列に変換し、希望の順序を指定することで、定義した配置に従って並べ替えが確実に行われるようにすることができます。

たとえば、月の名前を含む「m」という名前の列を持つ DataFrame を考えてみましょう。

import pandas as pd

df = pd.DataFrame([[1, 2, 'March'],[5, 6, 'Dec'],[3, 4, 'April']], columns=['a','b','m'])

カスタム順序を使用して「m」列を並べ替えるには、優先月を含む辞書を作成します順序付け:

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

次に、'm' 列をカテゴリ系列に変換し、カスタム順序を指定します:

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

最後に、DataFrame を 'm' 列で並べ替えると、ここで、辞書で定義されたカスタム順序に従います:

df.sort_values("m")

このメソッドは、カスタマイズされた基準に基づいてデータを並べ替える明確で便利な方法を提供します。 DataFrame 内。

以上がディクショナリで定義されたカスタム順序に基づいて Pandas DataFrame 列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。