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