Pandas DataFrame の pivot() メソッド

Beginner

はじめに

この実験では、Python の Pandas ライブラリにある pivot() メソッドの使い方を学びます。pivot() メソッドを使うと、DataFrame のインデックスと列の値の構成を変更することで、DataFrame を変換または再構成することができます。

VM のヒント

VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を開いて練習を行ってください。

場合によっては、Jupyter Notebook の読み込みが完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、Labby に質問してください。セッション終了後にフィードバックを提供していただければ、迅速に問題を解決します。

pandas のインポートと DataFrame の作成

  • まず、pandas ライブラリをインポートし、pd.DataFrame() 関数を使って DataFrame を作成します。
import pandas as pd

data = {
  'crop': ['Rice', 'Wheat', 'Rice', 'Wheat', 'Rice', 'Wheat'],
  'state': ['karnataka', 'karnataka', 'Tamilnadu', 'Tamilnadu', 'Kerala', 'Kerala'],
  'Temperature': [29, 29, 31, 31, 25, 25],
  'Humidity': [50, 50, 62, 62, 45, 45]
}

df = pd.DataFrame(data)
print(df)
  • これにより、'crop'、'state'、'Temperature'、'Humidity' の列を持つ DataFrame が作成されます。

pivot() メソッドを使って DataFrame を再構成する

  • DataFrame を再構成するには、pivot() メソッドを使い、インデックスと列名を指定します。
df_pivot = df.pivot(index='crop', columns='state')
print(df_pivot)
  • pivot() メソッドは、'crop' を新しいインデックス、'state' を新しい列として DataFrame を再配置します。結果の DataFrame は、'crop' と 'state' の各組み合わせに対して 'Temperature' と 'Humidity' を列として持ちます。

特定の列を選択するために values パラメータを指定する

  • 再構成した DataFrame に特定の列のみを含めたい場合は、pivot() メソッドの values パラメータを使用できます。
df_pivot_specific = df.pivot(index='crop', columns='state', values='Temperature')
print(df_pivot_specific)
  • 結果の DataFrame には、'crop' と 'state' の各組み合わせに対する 'Temperature' 列のみが含まれます。

DataFrame 内の重複データを処理する

  • DataFrame に重複データが含まれている場合、pivot() メソッドは ValueError を発生させます。このような場合、再構成する前に DataFrame に重複エントリがないことを確認する必要があります。
df_duplicated = pd.DataFrame({'crop': ['Rice', 'Rice', 'Wheat', 'Wheat', 'Rice', 'Wheat'],
                              'state': ['karnataka', 'karnataka', 'Tamilnadu', 'Tamilnadu', 'Kerala', 'Kerala'],
                              'Temperature': [29, 29, 31, 31, 25, 25],
                              'Humidity': [50, 50, 62, 62, 45, 45]})

df_duplicated_pivot = df_duplicated.pivot(index='crop', columns='state', values='Temperature')
print(df_duplicated_pivot)
  • この例では、DataFrame に 'crop' と 'state' の組み合わせに関する重複エントリが含まれており、pivot() メソッドを使用すると ValueError が発生します。

まとめ

この実験では、Python の Pandas ライブラリにおける pivot() メソッドの基本的な使い方を学びました。pivot() メソッドを使用すると、インデックスと列の値の構成を変更することで、DataFrame を変換または再構成することができます。DataFrame の再構成、特定の列の選択、重複データの処理方法を学びました。pivot() メソッドは、データ操作と分析において強力なツールです。