これまでもpandasのDataFrameに対するデータ処理を紹介してきました。こちらの記事では、pythonのlistの各要素に処理を行う関数であるmap()を参考に、DataFrameの列(Series)の各要素に処理を適用するデータ処理の方法を見てみます。
インストール
これまでのpandasの記事と同様に、pandasがインストールされていない場合には
インストールが必要です。インストールされていない場合には、pip install pandas を実行しておく必要があります。
サンプルデータ
以前「【Python】pandasの列にmapを適用してデータを加工する」という記事でも利用した都道府県(一部)の面積と人口の小さいデータを利用します。
データを読み込み指定したインデックス名でデータにアクセスする
上のサンプルデータを読み込み、いろいろな形でデータにアクセスしてみます。
サンプルソース
サンプルの実装です。
- はじめにデータフレームを読み込みます。
- これは以前の記事と同じですが、百万人単位の人口のデータを作成しておきます。
- 北海道のデータに対して、アクセスします。
- 北海道の全てのデータを取得します。
- 北海道の面積の値だけを取得します。
- 北海道の面積部分のデータフレームに注目して取得します。
- 北海道の面積と人口を取得します。
- 条件を指定してアクセスを行う例を見ます。
- データフレームに対して、面積が15000を超える部分をloc経由でアクセスします。
実行結果
実行結果を確認します。
それぞれ確認してみます。
- 北海道のデータ処理について
- 北海道のrowが全て出力されました。
- 数値(面積)だけが出力されました。
- データフレームのデータ構造が保持された状態で面積の情報が出力されました。
- 面積と人口が両方出力されました。
- 条件指定について
- 面積の条件を満たす北海道と岩手の部分データフレームが出力されました。
このように柔軟にデータにアクセスすることができました。
列に注目したサンプルソース
サンプルの実装その2です。
ここではインデックスの方を複数にしたり、全部の指定にしたりして動作を確認しています。
- はじめにデータを読み込みます。
- 全てのインデックスについて面積を取得します。
- 北海道と青森に注目して、面積を取得します。
- 北海道と青森に注目して、面積と人口を取得します
実行結果
実行結果です。上で説明した意図通り、データにアクセスできていることが分かります。
スポンサーリンク
このようにデータフレームの各要素(数値)や部分(データフレーム)に柔軟にアクセスすることで、対象となるデータに注目した処理や加工・解析が可能になります。いろんなデータをどんどん読み込み、いろんなアクセスを試してみてくださいね。