機械学習

Pandasを利用してCSVファイルを読み込み欠損値補充をしてみた

Pythonでデータの取り込みや加工・集計、分析処理に利用できるライブラリの一つにPandasがあり、これを利用するとCSVファイルの読み込みや加工が簡単に行える。

今回は、Pandasを利用してCSVファイルの読み込み・データ抽出・欠損値の補完を行ってみたので、そのサンプルプログラムを共有する。

前提条件

今回サンプルプログラムで利用するCSVファイルは、以下の内容とする。
前提条件

このCSVファイルは、以下の「みずほ リファレンスデータ」から一部抜粋したデータとなる。
https://www.mizuhobank.co.jp/market/historical/index.html

また、下記記事のAnacondaをインストールしJupyter Notebookを利用できること。

Python開発用のAnacondaをインストールしJupyter Notebookを利用してみた今回は、Pythonを勉強してみたいと思い、Python開発環境を構築してみたので、その手順を共有する。 Python開発用として...

やってみたこと

  1. Jupyter NotebookへのCSVファイルアップロード
  2. CSVファイルの読み込みとデータ抽出
  3. 欠損値の補完

Jupyter NotebookへのCSVファイルアップロード

Jupyter Notebook上で、Pythonのソースコード上からCSVファイルを読み込めるよう、CSVファイルをアップロードする。その手順は、以下の通り。

1) CSVファイルを読み込むため、Jupyter Notebook上で「Upload」ボタンを押下する。
CSVファイルのアップロード_1

2) 読み込むCSVファイルを選択し、「開く」ボタンを押下する。
CSVファイルのアップロード_2

3) ファイル名はそのままで、「Upload」ボタンを押下する。
CSVファイルのアップロード_3

4) CSVファイルのアップロードが完了し、一覧に、アップロードしたファイルが表示されることが確認できる。
CSVファイルのアップロード_4



「DroidKit」はAndroid端末のデータ復元や画面ロック解除等が行える便利なツールだった「DroidKit」は、画面ロック解除、FRPバイパス、データ復元、システム修復、および4つのより効果的なツールを含んでいて、ほぼすべて...

CSVファイルの読み込みとデータ抽出

CSVファイルの読み込みには、(データ解析を行うための)Pandasのread_csvメソッドを利用する。そのサンプルプログラムと実行結果は、以下の通り。

CSVファイルの読み込み

また、CSVファイルからデータ抽出するには、pandas.DataFrameのilocメソッドを利用する。そのサンプルプログラムと実行結果は、以下の通り。

データ抽出

さらに、pandas.DataFrame.valuesで、抽出したデータをNumPy配列を取得できる。そのサンプルプログラムと実行結果は、以下の通り。

データ抽出(Numpy)



Code VillageはJavaScriptを中心としたサポート体制が充実したプログラミングスクールだったJavaScriptや、JavaScriptのフレームワーク「React」「Vue」を中心にオンラインで学習できるプログラミングスクール...

欠損値の補完

読み込んだCSVファイルの結果を確認すると、いくつか欠損値(nan)となっているが、ここを一定の規則で補完することができる。

今回は、scikit-learnのSimpleImputerクラスを利用して、欠損値に各列の平均値を補完してみたので、そのサンプルプログラムを共有する。

欠損値の補完

なお、欠損値を補完する方法は、平均値以外にも、中央値・最頻値等を利用できる。その指定方法は、以下のサイトを参照のこと。
https://qiita.com/k-ysd/items/ee990bcf4f19301335ba

実際に、1~3列目各列の(nan以外の)平均値を算出した結果は以下の通りで、実際に補完された平均値と一致していることが確認できる。

各列の(nan以外の)平均値

要点まとめ

  • Pythonでデータの取り込みや加工・集計、分析処理に利用できるライブラリの一つにPandasがあり、これを利用するとCSVファイルの読み込みや加工が簡単に行える。