Python学習【365日チャレンジ!】312日目のマスターU(@Udemy11)です。
Amazonプライムのページを久しぶりにのぞいてみると、前から少し気になっていた【鬼滅の刃】がちょっと見てみない?なんて言ってる気がしたので、ついつい第1話を見てしまいました。
そこから堰を切ったように、シーズン1の26話まで2日ほどかけて一気に見てしまい、ここ数日寝不足です。
しかも、アニメの続きが【千と千尋の神隠し】しか達成していない興行収入300億を達成した【鬼滅の刃無限列車編】につながっているので、映画まで見たくなってきちゃうんですよね。
流石に映画はまだ見ていませんが、漫画で一気読みしたくてウズウズしています。
それでは今日も、Python学習を始めましょう。
昨日の復習
昨日は、py2app
を使って、計算機アプリをMacで使えるようにしました。
virtualenv
で作業環境を作成してからpy2app
をインストールして、計算機のプログラムであるcalculator.py
をもとにsetup.py
を作ってから、Mac用のアプリケーションパッケージを作成しました。
Pycharmから実行していたコードがMac上で動くアプリケーションになるとちょっとうれしくなっちゃいますよね。
普段使っているMacで使えるアプリが作れると、テンション上がるだけじゃなく、プログラマーへ一歩近づいた感じがします。
詳しくは昨日の記事をごらんください。
今日は、Pythonのデータ解析について基本的な知識を学習します。
データ解析とは
データ解析は
- データ収集
- 前処理
- データ分析
- レポート作成
という流れで、あらゆるデータを目に見える形にすることです。
データ収集は、その名のとおり、必要なデータを集めます。
2つ目の前処理は、データを分析しやすい形に整えてからデータを分析し、結果を目に見えるレポートに仕上げます。
これらの過程を効率よく処理できるのがPythonで、特にNumpyやPandas、Matplotlibなどデータ分析に活用できるライブラリが充実しています。
Jupyter Notebook
Jupyter Notebookは、Pythonの対話型シェルですが、テキストや実行結果をまとめて管理できるので、Pythonでのデータ解析には欠かせないツールです。
すでに学習したGoogle ColaboratoryもJupyter Notebookと同じようにテキストやプログラム、実行結果をまとめて管理できますが、クラウドベースになるので、Jupyter Notebookに比べて若干使える機能が制限されています。
Udemy講師インタビューに答えていただいた高田さんの「【ゼロから始めるデータ分析】ビジネスケースで学ぶPythonデータサイエンス入門」でも、Jupyter Notebookを使っていました。
本格的にデータ解析をするのなら、Jupyter Notebookが最適ということですね。
Numpy
Numpyは、数値計算に特化したライブラリで、処理が高速で、多次元配列を基本的なデータ構造として扱える配列を扱います。
他の解析ライブラリとも組み合わせて使うことができ、大量のデータを高速に処理することができます。
Pandas
Pandasは、Pythonでデータ分析を効率よく処理するためのライブラリで、データ読み込みや統計量の表示、グラフ化、データの分析を高速に処理することができます。
データの読込、並べ替え、欠損値の補完などを行うことができるので、収集したデータを前処理する段階でよく使われています。
CSVやエクセルデータ、ネット上で公開されている株価情報などの多種多様な形式のデータを読み込むことができます。
データの平均値などの特徴を判断したり、求める形にデータを整形できるDataFrameという多機能な表を扱い、データを前処理してからNumpyで数値計算をするような使い方や、次に紹介するMatplotlibと連携してグラフ化したりすることもできます。
Matplotlib
Matplotlibは、Pythonのデータ解析では知らない人がいないほど有名なグラフ描写ライブラリです。
2Dだけでなく3Dのグラフも描くことができます。
NumpyやPandasと組み合わせて使うことで、データの概要を把握したり、グラフ化によってデータの特徴を可視化したりすることができます。
まとめ
Pythonのデータ解析には、今日紹介したJupyter Notebookで、Numpy、Pandas、Matplotlibをインポートして処理する方法が多いようで、ネットで【Python データ解析】と検索すると、これらの情報がたくさんヒットします。
それぞれを単体で使うのではなく、組み合わせて利用することでより便利にデータ解析ができるので、最終的に株価のデータ解析と株価予測ができるプログラムを完成させることを目標に順番に学習していきたいと思います。
ということで、明日もGood Python!