ホームページ > バックエンド開発 > Python チュートリアル > ネストされたディクショナリから階層インデックスを含む Pandas DataFrame を作成するにはどうすればよいですか?

ネストされたディクショナリから階層インデックスを含む Pandas DataFrame を作成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-02 18:52:12
オリジナル
261 人が閲覧しました

How Can I Create a Pandas DataFrame with a Hierarchical Index from a Nested Dictionary?

階層インデックスを使用したネストされた辞書からの pandas DataFrame の構築

この記事では、ネストされた辞書を次のような pandas DataFrame に変換する必要性について説明します。階層インデックス。ユーザー ID を第 1 レベル、カテゴリを第 2 レベル、さまざまな属性を第 3 レベルとして構造化されたディクショナリは、目的の DataFrame 構造を作成する際に課題を引き起こします。

目的の階層インデックスを使用して DataFrame を構築するには、最初の解決策には、ネストされた辞書の再構成が含まれます。ディクショナリ内の各キーは、マルチインデックスの値に対応するタプルである必要があります。 pd.DataFrame.from_dict を使用し、orient='index' を設定すると、DataFrame を作成できます。

user_dict = {12: {'Category 1': {'att_1': 1, 'att_2': 'whatever'},
                  'Category 2': {'att_1': 23, 'att_2': 'another'}},
             15: {'Category 1': {'att_1': 10, 'att_2': 'foo'},
                  'Category 2': {'att_1': 30, 'att_2': 'bar'}}}

pd.DataFrame.from_dict({(i,j): user_dict[i][j] 
                           for i in user_dict.keys() 
                           for j in user_dict[i].keys()},
                       orient='index')
ログイン後にコピー

別のアプローチでは、コンポーネント データフレームを連結して DataFrame を構築します。このメソッドは、次のように各 UserId の DataFrame を追加します:

user_ids = []
frames = []

for user_id, d in user_dict.iteritems():
    user_ids.append(user_id)
    frames.append(pd.DataFrame.from_dict(d, orient='index'))

pd.concat(frames, keys=user_ids)
ログイン後にコピー

これらのメソッドのいずれかを実装することで、階層インデックスを持つ pandas DataFrame をネストされた辞書から構築でき、データの編成と分析が簡素化されます。 .

以上がネストされたディクショナリから階層インデックスを含む Pandas DataFrame を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート