ホームページ > バックエンド開発 > Python チュートリアル > Pandas GroupBy MultiIndex シリーズを DataFrame に変換するにはどうすればよいですか?

Pandas GroupBy MultiIndex シリーズを DataFrame に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-09 06:23:05
オリジナル
503 人が閲覧しました

How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

Pandas GroupBy Multiindex 出力を Series から DataFrame に変換

GroupBy を使用して複数の列で DataFrame をグループ化すると、結果は多くの場合 MultiIndex Series になります。ただし、特定のシナリオでは、データを DataFrame 形式で戻す必要がある場合があります。この記事では、GroupBy の MultiIndex シリーズ出力を DataFrame に変換する方法を説明します。

次のサンプル DataFrame について考えます。

     City     Name
0   Seattle    Alice
1   Seattle      Bob
2  Portland  Mallory
3   Seattle  Mallory
4   Seattle      Bob
5  Portland  Mallory
ログイン後にコピー

複数の列で GroupBy を使用すると、出現回数をカウントできます。

g1 = df1.groupby(["Name", "City"]).count()
ログイン後にコピー

ただし、g1 の出力は MultiIndex ですシリーズ:

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
ログイン後にコピー

これを DataFrame に変換し直すには、2 つのアプローチを利用できます:

方法 1: サフィックスの追加とインデックスのリセット

列名にサフィックスを追加し、 Index:

g1.add_suffix('_Count').reset_index()
ログイン後にコピー

これにより、Name、City、およびカウントを示す _Count の接尾辞が付いた 2 つの追加列の 3 つの列を持つ DataFrame が作成されます。

方法 2: DataFrame を使用するConstructor

または、DataFrame コンストラクターを.size() メソッドを使用して、出現回数をカウントし、インデックスをリセットします。

DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
ログイン後にコピー

このアプローチでは、Name、City、およびカウントを表す追加の列 count の 2 つの列を持つ DataFrame が作成されます。

以上がPandas GroupBy MultiIndex シリーズを DataFrame に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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