【Python】NumPyで配列を作る – NumPy Arrays

NumPy
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

データ分析をPythonで行うにあたって、ライブラリのNumPyを使えば数値計算を効率的に行うことができます。

NumPyを利用するにはライブラリをインストールする必要があります。

まだインストールしていないのであれば、ターミナルから次のどちらかのコマンドでインストールしておきましょう。

では早速NumPyの配列(array)からやっていきましょう。

スポンサーリンク

NumPyで配列を作る

ここではjupyter notebookを使って行きます。jupyter notebookを起動してPythonを使えるようにnotebookを開いて、順にコードを入力して行きます。

まずライブラリーをインポートしておきましょう。

では、NumPyの配列(Array)を作って行きましょう。

array()

NumPyのArrayはPythonのリストに似ています。リストでは次のように書きます。

jupyter notebookに入力して実行すると次のように表示されるのはわかりますね。

Pythonのリストは、文字列や数字も合わせて値にとりますが、データ分析ではそこは揃える必要があります。

NumPyのarray()にPythonのリストを渡すことで配列を作ることができます。ここでは1次元の配列になります。

配列は次のように出力されます。

Pythonのリストのリストはどうでしょう?

こちらもそのまま出力されます。

これをarray()で配列にすると多次元の配列になります。

ここでは3行3列のデータの配列になっています。

arange()

arange()は、開始値、終了値の指定の範囲の数値で、連番の配列を作ることができます。

0からはじめて10の手前までの数値の配列を作ります。

また、arange()は、開始値、終了値だけでなく、第3引数にデータの間隔を与えることでいくつ毎の数値の配列を作るかを指定することがで来ます。

これは先ほどと同じ範囲から2づつ増やした数値の配列を作ります。

実行するとそれぞれこうなります。

終点に与えた数字自体は含まれないことに注意しましょう。

zeros()

zeros()は値がゼロのみの配列を作ります。引数に与えたデータ数を持つ配列になります。

また、zeros()はタプルで数値を与えることで2次元の0の値を持つ配列を作ることができます。

それぞれ次のようになります。

上側は0が5つの配列。下側は2行3列の値が0の配列が出来ています。

ones()

one()はzeros()の値が0から1に変わっただけで、値が1のみの配列を作ります。

これは1が5つの配列を作ります。

こちらは2行3列で値が全て1の配列を作ります。

実行するとそれぞれこうなります。

linspace()

linspace()は始点と終点の値を与え、第3引数に要素数を与えることで、始点から終点までの値を要素数だけ等間隔の値で配列を作ります。等差数列ですね。

これは0から5までの値を等間隔に50個の配列を作ります。

実行するとこうなります。

eye()

eye()は引数に与えたnに対してn×nの対角線上に値が1が入り他は0の配列を作ります。単位行列というやつですね。

これは、5行5列の単位行列の配列が作られます。

スポンサーリンク

randomモジュールで乱数の配列を作る

Pythonの標準モジュールと同様にNumPyにはrandomモジュールがあり、簡単に乱数を発生させて、配列を作ることができます。

rand()

rand()は0以上、1未満の範囲で一様乱数を出力します。引数を与えることで、その個数の乱数を発生させます。

一様乱数を5つ発生させて配列を出力します。

こちらは5行5列の一様乱数を発生させて配列を生成します。

それぞれ実行すると次のようになります。

当然ながら、乱数ですから毎回同じ値が生成される訳ではありません。

randn()

randn()は平均0、標準偏差1の正規分布に従う乱数を発生させます。

こちらは5つの乱数を発生させて配列を作ります。

こちらは3行3列の乱数を発生させて配列を生成します。

実行するとそれぞれこうなります。

randint()

randint()は指定の範囲内の整数で乱数を発生させます。

こちらは1から99までの整数の値をランダムに返します。

こちらは1から99までの整数の値を10個ランダムに返します。

それぞれ実行するとこうなります。

スポンサーリンク

配列の形状変換、最大値、最小値、データ型

配列の形状変換、最大値、最初値、データ型などをみていきましょう。

ここでは、次のように変数を作って扱っていきましょう。

これはそれぞれ次のように出力されます。

これを操作していきます。

reshape()

reshape()は1次元の配列を形を指定して2次元の配列に変換します。

これは、先のarrを5行5列の配列に変換します。ただ、データの値の数が変換する形に合わなければ変換はできません。

これは次のようにデータを指定し、タプルやリストで変換後の形を指定しても同じです。

max(), min()

配列の値の最大値、最小値を求めるには、max(), min()を使います。

先のrandarrの最大値、最小値を求めています。

次のようになります。

argmax(), argmin()

argmax(), argmin()で配列の最大値、最小値のインデックスを知ることができます。

実行するとこうなります。

見比べて見ると、インデックスの位置にそれぞれの値があるのがわかるはずです。

shape, dtype

配列の変数にshapeでアクセスするとその配列のサイズがわかります。またdtypeを使うと配列の値のデータ型を得ることができます。

実行するとこうなります。

5行5列の配列で、データ型がint64であることがわかります。

スポンサーリンク

最後に

ここではPythonの拡張モジュールのNumPyを使って配列を作る操作を中心に見てきました。

応用編でNumPyを速習した内容と重なっている部分も多いです。

【Python】NumPyの基本的な使い方の速習
Pythonで数値計算を効率的に行うための拡張モジュールがNumPyです。ここではNumPyの基本的な使い方である配列の作り方とその演算や操作の方法をみていきます。また別のところでNumPyをしっかりと扱います。

こちらも合わせて復習しておくのも良いでしょう。

これ以外のところを含めて、これからじっくりと扱っていきます。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

タイトルとURLをコピーしました