Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第5回】Numpyにおける配列の統計値、小数点の処理、欠損値の確認



はじめに

Numpyはプログラミング言語Pythonにおいて数値計算を効率的に行うためのモジュールで、科学数値計算にはNumpyを用いることが非常に多くなっています。このモジュールは、効率的な数値計算を行うための型付きの多次元配列のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供しています。例えば、3行3列の行列の加減乗除などが計算できます。

前記事では、Numpyにおける配列の演算、加減乗除、条件による判定について解説しました。

本記事では、配列の統計値、小数点の処理、欠損値の確認について解説していきます。

SAMURAI TERAKOYA

統計値

まずは、統計値について説明します。ここでは、配列の要素内の最大値、最小値、最大値のインデックス、最小値のインデックス、2つの配列の大きい/小さい値の要素の配列の生成、分散、標準偏差、合計について示していきます。

最大値:np.max()

まずは、最大値についてです。以下の例では、np.maxを用いて配列内の要素の最大値を求めています。

Input:

Output:

 

最小値:np.min()

次は、最小値についてです。以下の例では、np.minを用いて配列内の要素の最小値を求めています。

Input:

Output:

 

最大値のインデックス:np.argmax()

次は、最大値のインデックスについてです。配列の何番目の要素が最大値なのかを求めることができます。以下の例では、np.argmax(a)で求めて最大値のインデックス 5が出力されています。一番目の要素のインデックスが0であることから、6番目の要素が要素内の最大値(9)となっています。

Input:

Output:

 

最小値のインデックス:np.argmin()

次は、最小値のインデックスについてです。配列の何番目の要素が最小値なのかを求めることができます。以下の例では、np.argmin(a)で求めて最小値のインデックス 3が出力されています。一番目の要素のインデックスが0であることから、4番目の要素が要素内の最小値(1)となっています。

Input:

Output:

 

2つの配列の大きい要素の配列生成:np.fmax(a,b)

2つの配列を比較し、大きい方を取得して配列を出力します。

Input:

Output:

 

2つの配列の小さい要素の配列生成:np.fmin(a,b)

2つの配列を比較し、小さい方を取得して配列を出力します。

Input:

Output:

 

分散:np.var()

次は、分散についてです。以下の例では、np.varを用いて配列内の要素の分散を求めています。

Input:

Output:

 

標準偏差:np.std()

次は、標準偏差についてです。以下の例では、np.stdを用いて配列内の要素の標準偏差を求めています。

Input:

Output:

 

合計値:np.sum()

次は、合計値についてです。以下の例では、np.sumを用いて配列内の要素の標準偏差を求めています。

Input:

Output:

 

小数点の処理

ここでは、配列内の要素が小数点の場合の切り上げ、切り下げ、四捨五入について説明します。

切り上げ:np.ceil()

まずは、切り上げについてです。np.ceil()を用いて小数を含む配列内の小数点を切り上げた配列を出力します。

Input:

Output:

 

切り下げ:np.floor()

次は、切り下げについてです。np.floor()を用いて小数を含む配列内の小数点を切り下げた配列を出力します。

Input:

Output:

 

四捨五入:np.rint()

次は、四捨五入についてです。np.floor()を用いて小数を含む配列内の小数点を四捨五入した配列を出力します。

Input:

Output:

 

整数部と小数部の分割:np.modf()

次は、整数部と小数部の分割についてです。np.modf()を用いて小数を含む配列内の数を整数部と小数部に分割した配列を出力します。

Input:

Output:

 

欠損値の有無の確認:np.isnan()

以前、欠損値のnp.nanについて説明しましたが、ここでは欠損値の有無の確認を行います。欠損値の有無の確認については、np.isnanを用います。欠損値がある場合には、np.isnanで出力された真偽値の配列にTrueが格納されています。

Input:

Output:

 

オススメ書籍

Pythonによるあたらしいデータ分析の教科書

Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。

データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析

こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。

東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~

こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。

 

スキル修得&転職

 近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。

以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

 

おわりに

本記事では、配列の統計値、小数点の処理、欠損値の確認について解説しました。本記事の処理は細かい処理でしたが、ちょっとした時に活躍する内容となっていますので、こんなのもあったなという感じで覚えておきましょう!