ホームページ > バックエンド開発 > Python チュートリアル > Pandas でデータフレームをピボットするにはどうすればよいですか?

Pandas でデータフレームをピボットするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-12 19:27:02
オリジナル
788 人が閲覧しました

How to Pivot a Dataframe in Pandas?

Pandas でデータフレームをピボットする

Pandas でデータフレームをピボットするには、.pivot メソッドを使用できます。このメソッドは、指定された値を列として受け取り、それに応じてデータフレームを再配置します。

列が Indicator、 Country、 Year、および Value であるデータフレームがあるとします。 Indicator 列の値が新しい列になるようにテーブルを転置するには、次のコードを使用します。

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
print(out)
ログイン後にコピー

結果の出力は次のようになります。

Indicator     1   2   3   4  5
Country Year
Angola  2005  6  13  10  11  5
        2006  3   2   7   3  6
ログイン後にコピー

ピボットされた値を変換するにはデータフレームをフラット テーブルに戻すには、.rename_axis を使用して Indicator 列を削除し、.reset_index を使用して Country と Year を通常に戻すことができます。 columns:

print(out.rename_axis(columns=None).reset_index())
ログイン後にコピー

出力は次のようになります:

  Country  Year  1   2   3   4  5
0  Angola  2005  6  13  10  11  5
1  Angola  2006  3   2   7   3  6
ログイン後にコピー

データに重複するラベルの組み合わせ (国、年、インジケーターなど) がある場合は、代わりに .pivot_table を使用できます。デフォルトでは、繰り返された値の平均がとられます:

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())
ログイン後にコピー

出力は次のようになります:

  Country  Year    1     2     3     4    5
0  Angola  2005  6.0  13.0  10.0  11.0  5.0
1  Angola  2006  3.0   2.0   7.0   3.0  6.0
ログイン後にコピー

Pandas の再形成とピボット テーブルの詳細については、ユーザー ガイドを参照してください。 .

以上がPandas でデータフレームをピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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