はじめに
この実験では、Python の Pandas ライブラリを使って、複数のテーブルを結合する方法を空気質データを使って調べます。これらの操作を行うために、concat関数とmerge関数を使います。この実験では、データフレームを効果的に連結およびマージする方法を理解するのに役立ちます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習します。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
最初のステップは、必要なライブラリをインポートすることです。この実験では、pandas ライブラリを使用します。
## 必要なライブラリをインポートする
import pandas as pd
データセットを読み込む
私たちは、空気質に関連する 2 つのデータセットを読み込みます。1 つは硝酸塩データを含み、もう 1 つは微粒子状物質データを含みます。
## 硝酸塩データを読み込む
air_quality_no2 = pd.read_csv("data/air_quality_no2_long.csv", parse_dates=True)
air_quality_no2 = air_quality_no2[["date.utc", "location", "parameter", "value"]]
## 微粒子状物質データを読み込む
air_quality_pm25 = pd.read_csv("data/air_quality_pm25_long.csv", parse_dates=True)
air_quality_pm25 = air_quality_pm25[["date.utc", "location", "parameter", "value"]]
データセットを連結する
次に、concat関数を使って、硝酸塩と微粒子状物質の測定値を 1 つのテーブルに結合します。
## 2 つのデータフレームを連結する
air_quality = pd.concat([air_quality_pm25, air_quality_no2], axis=0)
共通の識別子を使ってテーブルを結合する
次に、merge関数を使って、測定値のテーブルに測定所の座標を追加します。location列に対して左結合を行います。
## 測定所の座標データを読み込む
stations_coord = pd.read_csv("data/air_quality_stations.csv")
## air_quality と stations_coord のデータフレームを結合する
air_quality = pd.merge(air_quality, stations_coord, how="left", on="location")
パラメータの完全な説明と名前を追加する
最後に、測定値のテーブルにパラメータの完全な説明と名前を追加します。parameter列とid列に対して左結合を行います。
## 空気質パラメータのデータを読み込む
air_quality_parameters = pd.read_csv("data/air_quality_parameters.csv")
## air_quality と air_quality_parameters のデータフレームを結合する
air_quality = pd.merge(air_quality, air_quality_parameters, how='left', left_on='parameter', right_on='id')
まとめ
この実験では、pandas で複数のテーブルを結合する方法を学びました。テーブルを連結するにはconcat関数を、共通の識別子を使ってテーブルを結合するにはmerge関数を使用しました。これらの操作は、分析用に単一の統合済みデータセットに結合する必要のある複数のデータソースを扱う際に重要です。