ホームページ > バックエンド開発 > Python チュートリアル > Pandas を使用してデータフレームをピボットする方法

Pandas を使用してデータフレームをピボットする方法

Patricia Arquette
リリース: 2024-11-21 02:10:14
オリジナル
175 人が閲覧しました

How to Pivot a Dataframe Using Pandas?

Pandas を使用してデータフレームをピボットする方法

表形式データの再形成は、データ分析において不可欠なタスクです。ピボットは、データフレーム内の行と列を入れ替える手法であり、ピボット テーブルを作成したり、さまざまな観点からデータを探索したりする場合に役立ちます。強力なデータ操作ライブラリである Pandas でこの操作を実行する方法を見てみましょう。

データフレームをピボットするには、主に .pivot メソッドを使用します。このメソッドはいくつかの引数を取ります:

  1. index: ピボットされたデータフレームのインデックスとなる列を指定します。
  2. columns: ピボットされた列ヘッダーとなる列を示します。 dataframe.
  3. values: ピボット テーブルに値を設定するために使用する列を示します。

たとえば、次のデータフレームを考えてみましょう。

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

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