はじめに
この実験では、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() メソッドは、データ操作と分析において強力なツールです。