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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-12 19:27:02694ブラウズ

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 サイトの他の関連記事を参照してください。

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