ビッグデータを使って統計分析がしたい! 【データ分析編①】
目次
こんにちわ。井上です。
前回のブログでは、グラフが表示されることを確認しました。
そろそろデータの分析をしていきたいと思ったのですが、いつも仕事で使っているJava、PHPなどの言語とはだいぶ趣が異なっていて、とっつきにくいです。
そこで今回は、これからデータ分析をするにあたって、必ず使うパッケージについて簡単に説明していきたいと思います。
データ分析に必要となりそうなパッケージ
- NumPy
- pandas
以上の2つがあればほとんどの事はできるようです。
どちらも初めて聞く名前です。
それぞれを少し詳しく見ていこうと思います。
NumPyとは
NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。
効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、
それらを操作するための大規模な高水準の数学関数ライブラリを提供する。
このあと説明していきますが、Numpy ndarrayという多次元配列オブジェクトがあり、データをそこにいれて計算等をすることができます。
ndarrayの使い方
ndarrayを生成する関数には、以下のような種類があります。
array | 配列型のデータを受けてndarrayを生成する。ndarrayの要素の型(dtype)は推測されたもの、または明示的に指示されたものを使う。 |
asarray | arrayと同様にdnarrayを生成する。 |
arange | Pythonのrange関数と同様。 |
ones | 指定されたサイズのndarrayを、指定されたdtypeですべて「1」で生成する。 |
zeros | 指定されたサイズのndarrayを、指定されたdtypeですべて「0」で生成する。 |
empty | 指定されたサイズのndarrayを生成する。ただし各要素は初期化されていない。 |
実際のプログラムを見てみましょう。
data1 = [1.3, 2, 3, 4, 5] arr1 = np.array(data1) print (arr1) #実行結果:[ 1.3 2. 3. 4. 5. ] arr2 = np.arange(5) print (arr2) #実行結果:[0 1 2 3 4] arr3 = np.ones(4) print (arr3) #実行結果:[ 1. 1. 1. 1.] arr4 = np.zeros(3) print (arr4) #実行結果:[ 0. 0. 0.]
NumPyのデータ型
データ型には以下のものがあります。
あまりJavaと変わらないですね。
int8, int16, int32, int64 | 符号あり/なし整数型(数字はビット数)。 |
float8, float16, float32, float64 | 浮動小数点型。 |
bool | 真偽値型。trueまたはfalse。 |
object | Pythonオブジェクト型。 |
string_ | 固定長文字列型。 |
unicode_ | 固定長ユニコード文字列型。 |
pandasとは
データ解析を支援する機能を提供するライブラリである。特に、数表および時系列データを操作するためのデータ構造と演算を提供する。
pandasには、SeriesとDataFrameというデータ構造があります。
この2つのデータ構造によってデータの整形が容易になっています。
少し詳しく見てみましょう。
SeriesとDataFrame
Series | 1次元の配列のようなオブジェクト。シリーズにはデータ配列とそれに関連付けられたインデックスというデータラベルの配列が含まれる。 |
DataFrame | テーブル形式のスプレッドシート風のデータ構造を持ち、順序付けられた列を持っている。各列にはそれぞれ別の型を持たせることができる。データフレームは行と列それぞれにインデックスを持っている。 |
実際のプログラムを見てみましょう。
#Series sr = Series([1, 2, 3, 4]) print (sr.values) #実行結果:array([1, 2, 3, 4]) print (sr.index) #実行結果:Int64Index([0, 1, 2, 3]) #DataFrame data= {'no':['A001', 'B001', 'C001'], 'name':['Ace', 'Bk', 'Const'], 'price':[100, 150, 200] } fr = DataFrame(data) print (fr) #実行結果: # name no price # 0 Ace A001 100 # 1 Bk B001 150 # 2 Const C001 200
まとめ
いかがでしたでしょうか。
今回紹介した中でも、特にDataFrameはデータ分析する際に必須となりそうです。
次回はもう少し詳しく見ていきたいと思います。
それではまた次回。
《関連記事》
ビッグデータを使って統計分析がしたい! 【準備編】
ビッグデータを使って統計分析がしたい! 【データ取得編】
ビッグデータを使って統計分析がしたい! 【グラフ表示編】