前回はpythonの環境を準備することを行いました。その後、実際にpythonで何ができるのか、どういう風にコードを書いていくのかということを学ぶために下記のページを参考にさせていただきました。
思考停止でとにかく基礎編と応用編を全て行って、だいたいどういう感じで動かすのかということを把握することができました。
卓球で言う所のラケットを握ってとりあえずボールを打つということを覚えたぐらいですかね。
pythonの各種ライブラリについて
動かし方を把握したということで、次にデータ分析を行うための方法について学習しました。
卓球で言う所のフォア、バック、フットワークなどの基礎の動きを練習するところですかね。
ライブラリのインストール方法
Macで仮想環境を使っている場合、pipを使ってインストールします。
ターミナルに
pip install ◯◯◯
と入力することで必要なライブラリをインストールしていきます。
今回の学習では
あたらしい Pythonによるデータ分析の教科書、山寺学・辻慎吾・鈴木たかのり・福島慎太郎 著、翔泳社
を参考書として使用させていただきました。
今回は参考書で解説されているNumPy、Pandas、Matplotlib、scikit-learnをインストールしました。
NumPy
NumPyは配列や行列をpythonで扱うためのライブラリとのことです。
使用するためには
import numpy as np
と記入します。as npとすることでこの行以降はnumpyをnpと略して記入できるそうです。
これについてしっかり理解するためには線形代数を理解する必要がありますね。
基本的にプログラミングは計算を行うためのツールであるので、計算自体の原理は人間側がしっかり把握しておく必要があるのではないかと思います。
また、グラフを扱うときにもとても役に立つ機能として乱数の生成が挙げられます。
練習用のデータを用意したいとき自分でたくさんのデータを用意するのは骨が折れるかと思います。
そこで
np.random.seed(123)
というようなコードを入れることで指定した数の乱数を生成してくれます。また(123)と入力することで、どの環境でも同じ乱数が生成されるので誰かに教える時とか答え合わせしやすくて良いですね。
Pandas
Pandasについては、ざっくりいうとエクセルのような表を扱うためのライブラリでしょうかね。
使用するためには
import pandas as pd
と入力するそうです。こちらのpdもnumpyと同様でpdと省略することができます。
ちょっとしたグラフの作成やデータ解析を行う人はエクセルを多用する人が多い気がしますが、pandasもエクセルのようなものなのでデータ分析のツールとしては最も活用されているそうです。
Matplotlib
Matplotlibは2次元のグラフを描画するためのライブラリだそうです。
NumPyやPandasでデータを扱っても、やはり数字の羅列は見辛いと思います。そこで、Matplotlibはそれらの数字の配列を可視化するためのツールとなります。
エクセルで言う所のグラフの作成ですね。
使い方は
import matplotlib.pyplot as plt
と入力します。
私は実験で得られたデータは波形として出力され、その最大値や頂点と頂点の距離を計測したいので、非常に重要なライブラリとなりました。
グラフの描画については、MatplotlibだけでなくPlotlyやCufflinksといったライブラリもあるそうで、またの機会に紹介することができるように勉強します。
scikit-learn
scikit-learnは統計学や機械学習によってデータから知識を抽出するというデータマイニングやデータ解析を行うためのライブラリだそうです。
機械学習を実行するためのツールとしてスタンダートとなっているそうです。
機械学習を行いたい方は必要不可欠なライブラリとなりますね。
使用するときはこれまでのライブラリと異なり、使用する機能によって
from sklearn.model_selection import train_test_split や from sklearn.preprocessing import LabelEncoder,OneHotEncoder
といった様々なパターンがあるそうです。
近年、AIが非常に注目を浴びているのでぜひ習得したいところですね。
pythonのデータ解析についてこれからの目標
研究で得られたデータの解析をしたい
やりたいこととしては、折れ線グラフを描画する。折れ線グラフの頂点を認識したい。複数のシグナルやノイズが混在しており、現在使用しているexcelでは任意のピークを取得することが困難or時間がかかる。といった課題の解決ですね。
そこで、任意のピーク(グラフの頂点)をクリックして座標をまとめて取得するようなツールの開発をまずは習得していきます。
それを学びながら、できることをどんどん増やしていってpythonを使って自由にツールの開発などをできたらなと思っています。
コメント