機械学習させるExcelデータは、Pandasで取り込むと簡単

機械学習させるデータをExcelでまとめる方は多いです。Pythonを利用する上で、Excelデータを取り込む方法は何種類か存在しますが、機械学習で利用する場合はPandasで取り込むと非常に便利です。
https://pandas.pydata.org/

Pandas

Pandasとは

Pandasでは、ExcelのほかCSVやMySQLなどのデータベースなど、いろいろなフォーマットのデータを取り込むことができます。また取り込んだデータを操作することもできます。Pandasに取り込んだデータは、解析するためNumPyへのデータ変換の機能も用意されています。またPandasのコアはNumPyと同様にC言語で実装されているため、処理速度は高速です。ここではExcelデータをPandasに取り込む方法、NumPyへのデータ変換方法を紹介します。

Pandasのインストール

Pandasはpipなどを利用してインストールすることができます。またExcelファイルを扱う場合は、内部でxlrdも利用していますので、一緒にインストールしましょう。下記はpip3を利用していますが、環境に合せてインストールを行って下さい。

ExcelデータをPandasに取り込む

今回サンプルとして利用するデータを用意します。どのようなデータでも結構ですが、文部科学省が公開している日本食品標準成分表です。下記はwgetによりデータをダウンロードしている例です。

それではPandasを利用してみましょう。といっても取り込むだけですと非常に簡単です。excel.pyファイルを用意し、下記のコードを入力して下さい。

1行目でpandasを読み込んでいます。また一般的にpandasはpdと略されます。Excelファイルを読み込むには read_excel 関数を利用します(3行目)。ファイル名を指定するだけで大丈夫です。このファイルはデータ量が多いため、先頭から10行を取得するようにしています(4行目)。結果は次のように表示されます。

NumPyへの変換

Pandasで用意したデータを算術計算させるためにNumPyを利用したいケースは往々にしてあるでしょう。そのため、Pandasにはnumpy.ndarrayに変換する機能がよういされています。次のコードを記述しましょう。

このExcelファイルには多くのデータがあるため、4行目で一部の行、一部の列のみ取得するようにしました。またPandasからNumPyへの変換はvaluesプロパティを使用します。その結果を6行目で出力しています。また参考までにそのデータ形式を7行目で表示しています。結果は次のように表示されます。

4行目にデータのタイプが numpy.ndarrayと表示されており、NumPyの形式に変換されたことがわかります。

まとめ

上記の例から、Pandasの利用が容易であることが判って頂けたものと思われます。Pandasには上記以外にも多数の機能が備わっています。機械学習するのであれば、ぜひ利用してみて下さい。

» お仕事のご依頼はこちら