表形式データの再形成は、データ分析において不可欠なタスクです。ピボットは、データフレーム内の行と列を入れ替える手法であり、ピボット テーブルを作成したり、さまざまな観点からデータを探索したりする場合に役立ちます。強力なデータ操作ライブラリである Pandas でこの操作を実行する方法を見てみましょう。
データフレームをピボットするには、主に .pivot メソッドを使用します。このメソッドはいくつかの引数を取ります:
たとえば、次のデータフレームを考えてみましょう。
Indicator Country Year Value 1 Angola 2005 6 2 Angola 2005 13 3 Angola 2005 10 4 Angola 2005 11 5 Angola 2005 5 1 Angola 2006 3 2 Angola 2006 2 3 Angola 2006 7 4 Angola 2006 3 5 Angola 2006 6
インジケーター列の値が新しい列を作成するには、次のコードを使用します。
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 を使用して、インジケーター軸と .reset_index を削除して、国と年を通常に変換します。 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())
これは同様のピボットされたデータフレームを出力しますが、重複する組み合わせの平均値が含まれます。
より詳細な概要については、Pandas ユーザーを参照してください。再形成とピボット テーブルに関するガイド。
以上がPandas を使用してデータフレームをピボットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。