Pythonは世界的に広く使われており、AIや機械学習等、画像処理等様々なことに使われています。今回は機械系エンジニアの私が1からPythonの勉強を始めていきたいと思います。
初心者だけどPythonってどういうことができるの?
実際の現場ではどのようにPythonを用いているの?
Pythonのコマンドの内容を知りたい、データの加工方法・作図方法をしりたい
こんな疑問に答えていきます。
今回は基礎勉強ですが、最終的に実践でも使用するため、こちらの参考書を使用していきたいと思います。
Pythonで使用するコマンドについて
ここでは、実際にデータ分析を行うための基礎的な作業をJupyter-Notebookを使用したいと思います。
pandas を使用してデータフレームを作ってみる
データ分析でよく用いられるpandasとライブラリは表形式(データフレーム)でデータを管理できる大変便利なものです。数値だけでなく、文字列などの任意のデータが扱えます。また、行と列で構成されたExcelの表のような構造をします。
pandasの使用方法
pandas.DataFrame( {'列名1':[値1, 値2・・・], '列名2':[値1, 値2・・・], '列名3':[値1, 値2・・・]}, index=['行名1', '行名2', '行名3',・・・] }
実際にpandasをJupiter Notebookで使用してみます。InのラインにPython のプログラムを入力していきます。プログラムを実行後にRUN(shift +Enter)を押すと、データフレーム(df1), (df2)が表示されます。プログラムで入力した通り、列名A, B, Cが入力されたデータフレームができています。
上記のように表形式のデータフレームを作ることができました。
これらを足し合わせてみましょう。Pythonではこれらの表同士を簡単に次のコマンドで足し合わせることができます。
concatを使用して、データフレームを結合してみる
concatはデータフレームを結合する方法です。デフォルトでは、縦方向に結合されますが、パラメータを指定することで、足し合わせ方法を指定することができます。
concatの使用方法
縦方向に結合する方法(デフォルト)
import pandas as pd pd.concat([df1, df2])
import pandas as pd
df1=pd.DataFrame({'A':['A0','A1','A2','A3'],
'B':['B0','B1','B2','B3'],
'C':['C0','C1','C2','C3']},
index=[0,1,2,3,])
df2=pd.DataFrame({'A':['A0','A1','A2'],
'C':['C0','C1','C2']},
index=[4,5,6])
pd.concat([df1,df2])
こんな感じで、プログラムを入力すると、df2にはB列がないため、NaNと欠損値と表示されます。デフォルトのため、縦方向にdf1とdf2が結合されたことがわかります。
横方向に結合する方法(axis=1)
import pandas as pd pd.concat([df1, df2],axis=1)
参考としてこちらのプログラムを書き実行すると、横方向にA, C列が追加されたのがわかります。Indexを1, 2, 3としたため、行の1, 2, 3に対応して数値が入力されています。
import pandas as pd
df1=pd.DataFrame({'A':['A0','A1','A2','A3'],
'B':['B0','B1','B2','B3'],
'C':['C0','C1','C2','C3']},
index=[0,1,2,3,])
df2=pd.DataFrame({'A':['A0','A1','A2'],
'C':['C0','C1','C2']},
index=[1,2,3])
pd.concat([df1,df2],axis=1)
こんな感じで、簡単にデータフレームの結合を行うことができます。
今回は、データフレームの使用方法と、結合方法を紹介しました。これから、その他の内容を詳しく勉強・紹介していきたいと思います。