俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

エピソード2-14: DataFrameから情報を取得する〜 E資格への道〜

今回は、pandasでDataFrameから情報を取得してみます。

前回は、DataFrameを作成しましたが、今度は、DataFrameから色々な情報を取得する処理を確認していきます。

では、早速試してきます。

 

 0. まずは、numpyライブラリとpandasライブラリをimport。

f:id:kanriyou_h004:20190414183749p:plain
「import numpy as np」とすることで、「np」にて参照し、各種関数や定数を呼び出すことができます。

「import pandas as pd」とすることで、「pd」にて参照し、各種データを扱う関数を呼び出すことができます。

「from pandas import DataFrame,Series」とすることで、DataFrame,Seriesが扱うことができます。 

 

 

1. DataFramemのdescribe()メソッドで統計値を取得する。

f:id:kanriyou_h004:20190414213813p:plain

サイコロを2個1,000回投げた時の出目をarrayをDataFrameに格納します。

DataFrameのhead()メソッドで列名(columns)と最初の5行(レコード)が表示できます。

f:id:kanriyou_h004:20190414214344p:plain

DataFrameのdescribe()メソッドで、count(レコード数)、mean(平均)、std(標準偏差)、min(最小値)、25%(25%値)、50%(中央値)、75%(75%値)、max(最大値)といった統計値が取得できます。

DataFrameの作成については、過去記事もご参照ください。

oregin-ai.hatenablog.com

2.  DataFrameから特定の列をSeriesとして取得する。

f:id:kanriyou_h004:20190414215636p:plain

f:id:kanriyou_h004:20190414215531p:plain

DataFrameのindexに特定の列名(columns名)を指定することで、指定した列を取得することができます。

f:id:kanriyou_h004:20190414215846p:plain

f:id:kanriyou_h004:20190414215918p:plain

DataFrameの属性に特定の列名(columns名)を指定することでも、同様に、指定した列を取得することができます。

 

3. DataFrameから複数の列をDataFrameとして取得する。

f:id:kanriyou_h004:20190414220539p:plain

f:id:kanriyou_h004:20190414220552p:plain

DataFrameのindexに、複数の列名(columns名)を指定することで、指定した列を取得することができます。
indexに渡すのは、列名('列名','列名',....)ではなく列名のリスト(['列名','列名',....])であることに注意が必要です。

 

f:id:kanriyou_h004:20190414221522p:plain

f:id:kanriyou_h004:20190414221550p:plain

DataFrameのindexに1項目のリスト['列名']を渡すことで、単一の列もSeriesではなく、DataFrameで取得することができます。

 4. DataFrameからスライス記法で行を取得する。

f:id:kanriyou_h004:20190414222250p:plain

DataFrameから[開始行のindex,終了行のindex+1]を指定することで、開始行から終了行までを取得できます。

 

 5. DataFrameから条件を指定して行を取得する。

f:id:kanriyou_h004:20190414223059p:plain

f:id:kanriyou_h004:20190414223119p:plain

DataFrameのindexに条件(今回は、一個めのサイコロの目が1だった場合)を指定することで、条件にあった行だけを取得できます。

 

 

6. DataFrameから列と行を取得する。

f:id:kanriyou_h004:20190414224037p:plain

f:id:kanriyou_h004:20190414224056p:plain

DataFrameのixメソッドで、行と列を指定して取得できます。

行は、スライス記法で指定し、列は列名を指定します。

 

今回は、DataFrameから情報を取得する処理を一通り使ってみました。

SQLによる、データベースの処理に似た処理ができるので、結構理解がしやすかったです。

では、引き続き、頑張って勉強していきたいと思います。

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com