
Google ColaboratoryでPythonを始める-8
こんにちはロック204チャンネルです。
今回はpython入門講座「Google ColaboratoryでPythonを始める 8 DataFrameを操作する」 と題しお送りします。

numpy, pandasモジュールのimportとDataFrameの設定
numpy, pandasの関数を使うには
プログラムの最初でimportメソッドを使ってnumpyとpandasモジュールを取り込みます。
この時「import numpy as np」のように指定しますが、これはnumpyをnpとして略して使用できるようにしたものです。
同様に「import pandas as pd」は pandasをpdの略語として使用できるようにしたものです。
pandasで二次元配列データを取り扱う場合にはDataFrameと言われる形式を使用します。
df=pd.dataframeは
pd.dataframeで定義されたデータを変数dfに代入する式となります。
結果としてdfはdataframeとして定義されます。
dataframeは辞書形式で定義します。列名がキーでデータが列データとなります。
データフレームをいれる変数df=DataFrame(の中に辞書形式でデータを設定します。
この例ではC1列がリスト1,2,3
C2列がリスト4,5,6となり
C3ですがリスト7,8,9のように定義されます。

DataFrameで二次元データを作成したとき
列の名前が横に表示されます
そして行にはインデックス番号が自動的に付加されます。
インデックス番号は0から開始されます。

DataFrameを使用した加算
こちらはDataFrameにおける足し算の例を示しています。
DataFrame全体に10を足してやりたい場合の例となります。
DataFrame df+10とすれば全体に配列伝帯に10が加算されだ結果が得られます。

この例では各行に配列を加算する例を示します。
元のDataFrameが右上の状態にあるとき
Df+np.arry([1,2,3])とすると
元の配列の各行に1、2、3が足された結果となります。

こちらは列に対する演算を示します。
元の配列が右上に示す配列とすると
この配列のC1列にリスト1、2、3を足してやるコードは
df[‘c1’]+np.array([1,2,3]) となります。

行・列を指定、複数列に対する演算
こちらは行と列を指定して計算する場合です。
左のコードでは最初にdfにpd.dataframeでデータを設定し
df.iloc[2,2]+=5 で3行3列に5を足す計算を行っています。
DataFrameの行・列は0から開始されるので一つずれた書き方となります。

こちらは複数列に対する演算の方法を示しています。
データフレームdfのC1列とC2列に対して5を引き算した結果を右下の図に示しています。

列名を指定してdataframeを作成、要素数を取得
こちらは列名を指定してDataFrameを作成する方法を示しています。
DataFrameを入れる変数dfを用意して
pd.dataframeカッコの中に
0行目のリスト、1行目のリスト、3行目のリストをセットし
列名としてcolumns=[‘c01’,’co2]のように設定します。

こちらはレコード数(行数)を取得するlen関数について例を示しています。
Dfをdataframeとすると
レコード数を取得するには
len(df)とします。

こちらの例は全要素数を取得する方法について示しています。
dataframeをdfとすると
dataframeの 全要素数を知りたい場合は df.sizeと書けば求まります。 この場合は 6となります。
また 各列の要素数を求めたい場合は「df.count」とすれば表示させます。
そして一番下にある dtype:int64というのは dataframeのデータは64ビットの整数であることを示します。
ビットは2進数の桁数が64桁までの数を扱えることを示します。

今回はnumpyとpandasを使用した DataFrameの作成法と演算操作について 解説しました。
次回はDataFrameを用いたデータの抽出法について配信を予定しています。
ご視聴ありがとうございました。