【完全版】NumPyの使い方を徹底解説【機械学習】

<!-- wp:paragraph -->
<p><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">NumPy（ナムパイ）</mark></strong>とは、<strong><span class="rtex-highlighter-0">高速計算処理を得意とするPythonのライブラリ</span></strong>です。<br><br><br>機械学習をPythonで行う場合は、<strong>NumPyをよく使います。<br></strong><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>本記事では、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong>NumPyの基礎的な文法を徹底解説します。</strong></mark></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ベクトルや行列の概念の説明から、基礎文法の図解まで、<span class="rtex-highlighter-1">Python初心者でも挫折せずに学ぶことができます</span>。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>是非ブックマークして、何度も見返すことをオススメします。<br><br></p>
<!-- /wp:paragraph -->

## この記事を執筆した筆者について
データサイエンス関連を学習中の若手SEです。

機械学習、データ分析といったデータサイエンスに関する記事を投稿中ですので、こちらも合わせて御覧ください。


■ブログ：https://datascience-lab.sakura.ne.jp
■Youtube：https://www.youtube.com/channel/UCwlSTr8FIuNnaNPZIzDghAA
■Twitter：https://twitter.com/juri_engineer









<!-- wp:heading -->
<h2>なぜ機械学習でNuｍPyを使うの？</h2>
<!-- /wp:heading -->


<!-- wp:paragraph -->
<p>NumPyを使う理由は、<span class="rtex-highlighter-0"><strong>大量のデータを計算するのに適しているから</strong></span>です。</p>
<!-- /wp:paragraph -->



<!-- wp:paragraph -->
<p><strong>機械学習はデータ量が多いほど精度が上がりやすい</strong>ので、データを処理する速度は非常に大切なポイントです。<br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>NumPyは機械学習に適したライブラリなのです。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>なぜ計算が早いのか</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NumPyは<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">ベクトル演算</mark></span></strong>を使うことで、ループをせずに配列や行列の計算ができます。<br><br></p>
<!-- /wp:paragraph -->




<!-- wp:paragraph -->
<p>ベクトルや行列、配列は、後ほど解説します。<br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>


<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>次元とは</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NumPyの文法に入る前に、基本的な概念・用語について確認しておきましょう。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>NumPyでは「<span class="rtex-highlighter-0"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">次元</mark></strong></span>」という言葉がよくでてきます。<br><br></p>
<!-- /wp:paragraph -->



<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>次元とは、<strong><span class="rtex-highlighter-0">空間の広がり</span></strong>を表します。<br><br></p>
<!-- /wp:paragraph -->


・一次元というのは、軸が1本、つまり、<strong><span class="rtex-highlighter-0">点と直線のみ</span></strong>で表現されます。
・二次元は、軸が2本なので、<span class="rtex-highlighter-0"><strong>面</strong></span>を表します。
・三次元は、軸が3本なので、<strong><span class="rtex-highlighter-0">立体</span></strong>を表します。</p><div class="liquid-speech-balloon-arrow"></div></div></div>

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2813,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-150-1280x720.png" alt="" class="wp-image-2813"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>ベクトルと行列</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3>ベクトルとは</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NumPyでいうベクトルとは、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">数字や文字列が複数連なったものです</span></mark></strong>。<br><br></p>
<!-- /wp:paragraph -->

ベクトルは、配列の一種です。<br>列が1列なので、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">1次元配列</mark></strong>です。

<!-- wp:image {"id":2757,"width":643,"height":361,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large is-resized"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-143-1280x720.png" alt="" class="wp-image-2757" width="643" height="361"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ベクトルの長さは、<strong>要素数</strong>です。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>上記の例にあるベクトルAは、要素数が5なので、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">長さ=5</mark></strong>です。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->


<br>
<br>
<br>

<!-- wp:heading {"level":3} -->
<h3>行列とは</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">行列</mark></strong>とは、<strong><span class="rtex-highlighter-0">行と列からできた数字や文字列の集まり</span></strong>です。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>行と列からなる行列は、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">二次元配列</span></mark></strong>とも呼ばれます。</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>それぞれのデータを、<span class="rtex-highlighter-0"><strong>要素</strong></span>と呼びます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2767,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-147-1280x720.png" alt="" class="wp-image-2767"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>行列は、<strong>大文字のアルファベットを使って表現します。</strong><br><br><br>上記の例では、<span style="text-decoration: underline;">行列A</span>と名付けられています。<br><br></p>
<!-- /wp:paragraph -->



行と列の覚え方は、下記がおすすめです。

漢字で考えるとわかりやすいです。

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2820,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-151-1280x720.png" alt="行と列の覚え方" class="wp-image-2820"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>行列はどんなサイズも取ることができ、一般的に<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">m×nの行列A</mark></strong>と表現します。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>一方で、<strong><span class="rtex-highlighter-0">特定の要素は小文字で表現されます。</span></strong>（例：a<sub>22</sub>）<br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>例えば、a<span class="rtex-font-size-0">ij</span>は、i行j列にある要素を表現できます。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>スカラー</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>1,2,3...のように、<strong><span style="text-decoration: underline;">数字単体</span></strong>を表します。次元がありません。<br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>0次元です！</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3>配列とは（ndarray配列）</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>配列とは、<strong><span class="rtex-highlighter-0">複数の要素を入れておくための入れ物のイメージ</span></strong>です。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>NumPyで提供される配列は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">ndarray</mark></span></strong>と呼ばれます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>配列は複数のデータ型の要素を格納できるのに対し、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">ndarray配列は一種類のデータ型しか格納できません。</mark></strong></p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ベクトルは一次元、行列は二次元ですが、<strong><span class="rtex-highlighter-0">ベクトルも行列もndarray配列の一種です。</span></strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>リスト・タプル・ディクショナリとベクトルの違い</h3>
<!-- /wp:heading -->

<!-- wp:liquid/speech-balloon {"avatar":"liquid-speech-balloon-01"} -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-01"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>pythonで使う代表的なデータ型として、<strong>リストやタプル、ディクショナリ（辞書型）があるけど、<span class="rtex-highlighter-0">ベクトルとどういった点が違うのでしょう</span>？</strong></p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br><br>ベクトルと、リスト・タプル・ディクショナリとの違いは、<span class="rtex-highlighter-0"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">数字・文字列などの複数のデータ型を1つのリストに格納できるかどうか</mark></strong></span>です。<br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>ベクトル：要素のデータ型は<strong>1種類</strong>のみ</li><li>リスト・タプル・ディクショナリ：<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">複数のデータ型の要素を入れられる</mark></strong></li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2786,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-149-1280x720.png" alt="" class="wp-image-2786"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>リスト</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>リストとは、<strong>要素を並べたものです。</strong><br></p>
<!-- /wp:paragraph -->

```Python
list = [5,10,15,20]
list

>> 実行結果
[5, 10, 15, 20]
```
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ベクトルとの違いは、<strong><span class="rtex-highlighter-1">数字・文字列などの複数のデータ型を1つのリストに格納できるかどうか</span></strong>です。<br><br><br></p>
<!-- /wp:paragraph -->

```Python
#リストは複数のデータ型を格納できる
list2 = [1,"apple",4.5]
list2



>>実行結果
[1, "apple", 4.5]
```

</pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>タプル</h4>
<!-- /wp:heading -->


<p>タプルも、リストと同様に要素を並べたものです。<br><br>定義する時に、<strong><span class="rtex-highlighter-0">リストは角括弧で囲むのに対し、タプルは丸括弧で囲みます。</span></strong><br><br></p>
<!-- /wp:paragraph -->


```Python
#タプルの定義
tuple = (1,2,3)
tuple

>>実行結果
(1, 2, 3)
```

<!-- wp:paragraph -->
<p><br><br><br>リストと異なり、<strong><span style="text-decoration: underline;">タプルは一度定義すると、上書きや追加をすることができません。<br></span></strong></p>
<!-- /wp:paragraph -->



```Python
#タプルは上書きできない
tuple[1] = 10

>>実行結果
TypeError: "tuple" object does not support item assignment
```

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ベクトルとタプルの違いは、リストと同様、<strong><span class="rtex-highlighter-0">複数のデータ型を入れられるかどうかです。<br></span></strong><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>ディクショナリ</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->

<p>ディクショナリ（辞書型）とは、<strong>keyとvalueをセットで格納できるデータ型</strong>です。<br><br></p>
<!-- /wp:paragraph -->

```Python
#辞書型を定義
dict = {"No.1":"apple", "No.2":"orange", "No.3":"banana"}
dict


>>実行結果
{"No.1": "apple", "No.2": "orange", "No.3": "banana"}
```

<!-- wp:paragraph -->
<p><br><br>リストと同様に、<strong><span style="text-decoration: underline;"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">複数の異なるデータ型を格納することができます。</mark></span></strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>NumPyの基本的な使い方</h2>
<!-- /wp:heading -->


※編集途中（コード部分）。完成版は、下記リンクをご参照ください※
https://datascience-lab.sakura.ne.jp/numpy/



<!-- wp:heading {"level":3} -->
<h3>インポート</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>まずは、NumPyをインポートすることで、<strong><span class="rtex-highlighter-0">手元のPythonファイルでNumPyを使えるようにしましょう。</span></strong><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>一般的に、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong>NumPyはnpとしてインポートします。</strong></mark></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#NumPyをimport
import numpy as np</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>ndarray配列の作り方</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4>ベクトルの作り方</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ndarray配列を作る時は、NumPyに含まれる<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">関数array</mark></span></strong>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>事前に作ったリストをndarray配列に変換するイメージです。<br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ここでは、ベクトルを作成します。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#リストの作成（一次元）
data = [1,2,3,4]

#array関数でndarray配列にする
a = np.array(data)
a

&gt;&gt;実行結果
array([1, 2, 3, 4])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>行列（マトリックス）の作り方</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>行列もndarray配列の一種です。<br><br><br>そのため、ベクトルを生成した時と同様、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong>array関数を使います。</strong></mark></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#1リストが1行になる
data2 = ([1,2,3,4],
         [5,6,7,8],
         [9,10,11,12])

#array関数で行列にする
b = np.array(data2)
b


&gt;&gt;実行結果
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>初期化配列を作る【zeros関数】</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>全ての要素が0のベクトルや行列を作りたい場合は、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0"><strong>zeros関数</strong></span></mark>を使います。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>0で初期化されているベクトルや行列がほしい時に使います。</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#１次元配列（ベクトル）
zeros = np.zeros(10) 
zeros

&gt;&gt;実行結果
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#2次元配列はタプルで行数・列数をそれぞれ指定する
zeros2 = np.zeros((4,5))
zeros2

&gt;&gt;実行結果
array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>全ての要素が1の配列を作る【ones関数】</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>全ての要素が1のベクトルや行列を作るときは、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">ones</mark></span></strong>を使いましょう。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#全ての要素が1のベクトルを作る
np.ones(4)


&gt;&gt;実行結果
array([1., 1., 1., 1.])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#全ての要素が1の行列を作る
np.ones((3,5))

&gt;&gt;実行結果
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>全ての要素を指定した数でベクトルや行列を作る【full関数】</h4>
<!-- /wp:heading -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.full(5,3)

&gt;&gt;実行結果
array([3, 3, 3, 3, 3])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>対角線上の要素を1にした行列を作る【eye関数】</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>行列の対角線上の要素を1、他の要素を0にした行列を作る時は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">eye関数</mark></span></strong>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.eye(4)

&gt;&gt;実行結果
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>等間隔の行列を作る【arange関数】</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>等間隔の要素が格納されたベクトルを作る時は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">arange関数</mark></span></strong>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#arange(終わりの数字)
np.arange(5)


&gt;&gt;実行結果
array([0, 1, 2, 3, 4])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#arange(始める数字, 終わりの数字)
np.arange(5,10)


&gt;&gt;実行結果
array([5, 6, 7, 8, 9])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#arange(始める数字, 終わりの数字, 間の数字)
np.arange(5,50,3)


&gt;&gt;実行結果
array([ 5,  8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br>ベクトルを行列にしたい場合は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">reshape関数</mark></span></strong>を使います。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列にする
np.arange(5,50,3).reshape(5,3)

&gt;&gt;実行結果
array([[ 5,  8, 11],
       [14, 17, 20],
       [23, 26, 29],
       [32, 35, 38],
       [41, 44, 47]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3>中身を調べる</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4>配列の形状を調べる</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>各次元ごとの要素数を表示したい場合は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">属性shape</mark></span></strong>をつかいます。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ndarray配列名.shapeで、ベクトルや行列のサイズを表示してくれます。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#ndarray配列の形状を調べる
a.shape

&gt;&gt;実行結果
(4,)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>aは一次元配列です。<br><br>一次元配列は軸が列のみなので、<strong><span class="rtex-highlighter-3">4は要素数を表すことになりますね。</span></strong><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>4×1の行列とも言えます。</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>shapeは、<strong><span class="rtex-highlighter-0">引数にndarray配列名を指定する方法でも使えます</span></strong>。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.shape(a)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>行列の形状も調べることができます。<br><br><br><br>下記の例では、3×4の行列であることがわかりました。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列の形状もわかる
b.shape


&gt;&gt;実行結果
(3, 4)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>次元を確認する</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ndarray配列が何次元なのかを確認したい場合は、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">属性ndim</span></mark></strong>を使います。<br><br><br>ndarray配列aは一次元なので、実行結果は1となります。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#次元を確認する
a.ndim

&gt;&gt;実行結果
1</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br>行列bは二次元のため、実行結果は2になりました。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列は2次元
b.ndim

&gt;&gt;実行
2</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br>引数にndarray配列を指定する方法でも、同様の結果が得られます。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#引数に指定する方法でも使える
np.ndim(a)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>データ型を確認する</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ndarray配列名.dtypeで、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-1"><span class="rtex-highlighter-0">ndarray配列に格納されている要素のデータ型を確認できます。</span></span></mark></strong><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#データ型の確認
a.dtype


&gt;&gt;実行結果
dtype(&#39;int64&#39;)
</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br>行列でも、同様にデータ型が確認できます。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>b.dtype

&gt;&gt;実行結果
dtype(&#39;int64&#39;)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>intの後に64という数字が入っていますが、これは<strong><span class="rtex-highlighter-0">ビット数</span></strong>を表します。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ビット数とは、データのサイズで、数字が大きいほどデータも大きいことを表します。 <br><br>ビット数が大きいと、計算の処理速度が遅くなります。<br><br><br><br><br>要素が文字列なら、<span class="rtex-highlighter-0"><strong>unicode型</strong></span>になります。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>data = [&quot;apple&quot;, &quot;banana&quot;, &quot;orange&quot;]
c = np.array(data)
c.dtype

&gt;&gt;実行結果
dtype(&#39;&lt;U6&#39;)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>要素が小数なら、<strong><span class="rtex-highlighter-0">float型</span></strong>になります。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>#要素が小数なら、float型
data = [0.1,0.04,6.9]
d = np.array(data)</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>要素数を調べる</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>全ての要素数を確認するときは、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">属性size</span></mark></strong>を使います。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#要素数の確認
a.size

&gt;&gt;実行結果
4</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br>行列のときも同様に確認できます。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>b.size


&gt;&gt;実行結果
12</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>統計量</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4>平均</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>平均は、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">mean関数</span></mark></strong>を使うことで簡単に算出できます。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.mean(a)

&gt;&gt;実行結果
2.5</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>引数で<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">axis属性</mark></strong>を指定することで、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong><span class="rtex-highlighter-0">行ごと・列ごとの算出も可能です。</span></strong></mark></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列の行ごとの平均を知りたい場合
np.mean(b,axis=1)


&gt;&gt;実行結果
array([ 2.5,  6.5, 10.5])
</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列の列ごとの平均を知りたい場合
np.mean(b, axis=0)

&gt;&gt;実行結果
array([5., 6., 7., 8.])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>分散</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>分散は、<span class="rtex-highlighter-0"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">var関数</mark></strong></span>を使いましょう。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.var(a)

&gt;&gt;実行結果
1.25</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>標準偏差</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>標準偏差の算出は、<span class="rtex-highlighter-0"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">std関数</mark></strong></span>を使います。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.std(a)

&gt;&gt;実行結果
1.118033988749895</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>標準偏差や分散がどのような値なのか、何が違うのかについてはこちらの記事で解説しています。<br><br><br>ぜひご参照下さい。</p>
<!-- /wp:paragraph -->

<!-- wp:shortcode -->
[kanren postid ="567"]
<!-- /wp:shortcode -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>最大・最小</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ndarray配列の要素の最大値・最小値を出す場合は、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong><span class="rtex-highlighter-0">maxとmin関数</span></strong></mark>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.max(a)

&gt;&gt;実行結果
4</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>np.min(a)

&gt;&gt;実行結果
1</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>行列から抽出する</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>一次元配列にする</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>行列を一次元配列にする時は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">ravel関数</mark></span></strong>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>ravel関数は、要素を１つずつ取り出したいときに使います。</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2827,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-152-1280x720.png" alt="" class="wp-image-2827"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>np.ravel(b)

&gt;array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>行番号・列番号を指定して抽出する</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">ndarray配列名[行番号,列番号]</span></mark></strong>と指定することで、<strong>指定した要素を取り出せます。<br></strong><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2829,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-153-1280x720.png" alt="" class="wp-image-2829"/></figure>
<!-- /wp:image -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>b[1,1]

&gt;&gt;実行結果
6</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>行番号・列番号は0から始まるので、注意しましょう。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>b[0,3]


&gt;&gt;実行結果
4</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br>ベクトルでも番号での指定が可能です。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>a[2]

&gt;&gt;実行結果
3</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>最後の要素を指定したい場合は、-1で指定可能です。</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>a[-1]

&gt;&gt;実行結果
4</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>スライスで抽出する</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>スライスとは、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0"><strong>複数要素を取得する場合に範囲選択することです。</strong></span></mark><br><br><br>スライスには、「:(コロン)」を使います。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2833,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-154-1280x720.png" alt="" class="wp-image-2833"/></figure>
<!-- /wp:image -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#ベクトルの1番目〜2番目を抽出する
a[1:3]

&gt;&gt;実行結果
array([2, 3])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#0行目〜1行目、1列目〜2列目
b[0:2,1:3]

&gt;&gt;実行結果
array([[2, 3],
       [6, 7]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>「:（コロン）」は単体で使うと、全選択を意味します。</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行を全選択し、列は列番号で指定
b[:,2]

&gt;&gt;実行結果
array([ 3,  7, 11])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行は行番号で指定し、列を全選択で指定
b[1,:]

&gt;&gt;実行結果
array([5, 6, 7, 8])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>条件で抽出する</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>条件指定で配列や行列の要素を取得する場合は、比較演算子を使います。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>b&gt;4

&gt;&gt;実行結果
array([[False, False, False, False],
       [ True,  True,  True,  True],
       [ True,  True,  True,  True]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>比較演算子は、次の4種類が使えます。<br></p>
<!-- /wp:paragraph -->

<!-- wp:table {"hasFixedLayout":true} -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>比較演算子</th><th>意味</th></tr></thead><tbody><tr><td>配列 &gt; x</td><td>x よりも大きい要素を取得する</td></tr><tr><td>配列 &lt; x</td><td>x よりも小さい要素を取得する</td></tr><tr><td>配列 &gt;= x</td><td>x と等しいか大きい要素を取得する</td></tr><tr><td>配列 &lt;= x</td><td>x と等しいか小さい要素を取得する</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>行列を操作する</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4>ベクトル同士の計算</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ベクトル同士の計算について学習しましょう。<br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>計算は通常の演算子を使います。<br><br></p>
<!-- /wp:paragraph -->


<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">ベクトルの計算方法は、同じ場所にある要素を足したり、引いたりします。</mark></strong></p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2847,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-155-1280x720.png" alt="" class="wp-image-2847"/></figure>
<!-- /wp:image -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code># 計算用の配列を作成
array1 = np.array([1,2,3,4,5,6])
array2 = np.array([2,4,6,8,10,12])


#和
array1 + array2


&gt;&gt;実行結果
array([ 3,  6,  9, 12, 15, 18])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br>和だけでなく、他の演算でも<strong>横方向に計算します</strong>。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#差
array2 - array1


&gt;&gt;実行結果
array([1, 2, 3, 4, 5, 6])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#積
array1 * array2

&gt;&gt;実行結果
array([ 2,  8, 18, 32, 50, 72])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#商
array2 / array1


&gt;&gt;実行結果
array([2., 2., 2., 2., 2., 2.])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>行列同士の計算</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>行列の演算も配列と同様に、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">同じ場所にある要素を足したり、引いたりします。</span></mark></strong><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2858,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-156-1280x720.png" alt="" class="wp-image-2858"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列を作成
matrix1 = np.array([[1,2,3,4,5,6],
                    [2,4,6,8,10,12],
                    [3,6,9,12,15,18]])
matrix2 = np.array([[4,8,12,16,20,24],
                    [5,10,15,20,25,30],
                    [6,12,18,24,30,36]])


#和
matrix1 + matrix2


&gt;&gt;実行結果
array([[ 5, 10, 15, 20, 25, 30],
       [ 7, 14, 21, 28, 35, 42],
       [ 9, 18, 27, 36, 45, 54]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#差
matrix2 - matrix1


&gt;&gt;実行結果
array([[ 3,  6,  9, 12, 15, 18],
       [ 3,  6,  9, 12, 15, 18],
       [ 3,  6,  9, 12, 15, 18]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#積
matrix1 * matrix2


&gt;&gt;実行結果
array([[  4,  16,  36,  64, 100, 144],
       [ 10,  40,  90, 160, 250, 360],
       [ 18,  72, 162, 288, 450, 648]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#商
matrix2 / matrix1


&gt;&gt;実行結果
array([[4. , 4. , 4. , 4. , 4. , 4. ],
       [2.5, 2.5, 2.5, 2.5, 2.5, 2.5],
       [2. , 2. , 2. , 2. , 2. , 2. ]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>転置</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="rtex-highlighter-0"><strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">転置</mark></strong></span>とは、行と列を入れ替えることです。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2869,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-158-1280x720.png" alt="転置のイメージ" class="wp-image-2869"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>#行と列を入れ替える
b.T


&gt;&gt;実行結果
array([[ 1,  5,  9],
       [ 2,  6, 10],
       [ 3,  7, 11],
       [ 4,  8, 12]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ただし、ベクトル（一次元配列）は行と列がないため、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">Tでは転置できません。</span></mark><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#一次元配列は行と列がないため、Tでは転置できない
a.T


&gt;&gt;実行結果
array([1, 2, 3, 4])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>行数と列数を指定して形を変える</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong>reshape関数</strong></mark></span>を使うと、行列の行数と列数を変更したり、ベクトルを行列に変更したりすることができます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#3×4の行列を2×6に変更する
b.reshape(2,6)


&gt;&gt;実行結果
array([[ 1,  2,  3,  4,  5,  6],
       [ 7,  8,  9, 10, 11, 12]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>reshape関数を使うと、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong>一次元配列も転置することができます。<br></strong></mark><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-00"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>もちろん、<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong><span class="rtex-highlighter-0">行列に変換することもできます。</span></strong></mark></p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#ベクトルを転置する。（縦1列にする）
a.reshape(4,1)

&gt;&gt;実行結果
array([[1],
       [2],
       [3],
       [4]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#ベクトルaを2×2の行列に変える
a.reshape(2,2)


&gt;&gt;実行結果
array([[1, 2],
       [3, 4]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>ブロードキャスト</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ブロードキャストとは、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">ndarray配列の大きさ・次元が違う場合、自動的に要素をコピーして大きさを揃える機能</span></mark></strong>です。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br><br>例えば、ベクトル(一次元配列)と行列(二次元配列)や、スカラー(0次元配列)とベクトルの計算をする際などに効果的です。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2883,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://datascience-lab.sakura.ne.jp/wp-content/uploads/image-160-1280x720.png" alt="" class="wp-image-2883"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#ブロードキャスト（行列と配列の和）
a + b


&gt;&gt;実行結果
array([[ 2,  4,  6,  8],
       [ 6,  8, 10, 12],
       [10, 12, 14, 16]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#スカラー（0次元配列）と行列（2次元配列）
5 * b

&gt;&gt;実行結果
array([[ 5, 10, 15, 20],
       [25, 30, 35, 40],
       [45, 50, 55, 60]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>配列の結合・分割</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>縦方向にndarray配列を結合する時は、<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">vstack関数</mark></span></strong>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>各行の要素数が同じでないと結合できない</strong>ので、注意しましょう。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#aとbを縦方向に結合
np.vstack((a,b)) #引数はタプルにすること

&gt;&gt;実行結果
array([[ 1,  2,  3,  4],
       [ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ndarray配列を横方向に結合する時は、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><span class="rtex-highlighter-0">hstack関数</span></mark></strong>を使います。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#array1とarray2の確認
array1

&gt;&gt;実行結果
array([1, 2, 3, 4, 5, 6])


array2

&gt;&gt;実行結果
array([ 2,  4,  6,  8, 10, 12])


#array1とarray2を横方向に結合
np.hstack((array1,array2))

&gt;&gt;実行結果
array([ 1,  2,  3,  4,  5,  6,  2,  4,  6,  8, 10, 12])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>疑似乱数を生成する</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>疑似乱数を作る時は<strong><span class="rtex-highlighter-0"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">random関数</mark></span></strong>を使います。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>0~1の乱数</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>random.rand</strong>で、0~1の乱数を生成できます。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:liquid/speech-balloon {"avatar":"liquid-speech-balloon-03"} -->
<div class="wp-block-liquid-speech-balloon liquid-speech-balloon-wrap liquid-speech-balloon-03"><div class="liquid-speech-balloon-avatar"></div><div class="liquid-speech-balloon-text"><p>引数には何を入れるのかな？</p><div class="liquid-speech-balloon-arrow"></div></div></div>
<!-- /wp:liquid/speech-balloon -->

<!-- wp:paragraph -->
<p><br>ベクトルの場合は、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">生成したい乱数の数（要素数）</mark></strong>を入れます。<br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#ベクトル
np.random.rand(5)

&gt;&gt;実行結果
array([0.85572911, 0.41986047, 0.52022084, 0.60679373, 0.02879198])
where</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>行列の場合の引数は、(行,列)で指定します。</p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#行列
np.random.rand(4,6)


&gt;&gt;実行結果
array([[0.35599728, 0.14748427, 0.86172026, 0.92575276, 0.29228079,
        0.22964651],
       [0.34756348, 0.08573972, 0.59858781, 0.67060099, 0.00791902,
        0.02872533],
       [0.82821718, 0.75247201, 0.8961799 , 0.94816615, 0.48520699,
        0.15950374],
       [0.94662943, 0.81549464, 0.1551827 , 0.84437122, 0.20545317,
        0.96384743]])
</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>指定した範囲の整数の乱数</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>指定した範囲にある整数をランダムに選んで、ベクトルや行列を作りたい場合は、<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">random.randint</mark></strong>を使います。<br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#引数の数字以内で整数を1つ選ぶ
np.random.randint(30)

&gt;&gt;実行結果
13</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-plain"><code>#範囲指定（10~30）
np.random.randint(10,30)

&gt;&gt;27</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#複数の乱数を生成する（ベクトル）
np.random.randint(10,30,6)

&gt;&gt;実行結果（要素数=6）
array([18, 17, 20, 21, 24, 25])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:loos-hcb/code-block {"langType":"python","langName":"Python"} -->
<div class="hcb_wrap"><pre class="prism undefined-numbers lang-python" data-lang="Python"><code>#複数の乱数を生成する（行列）
np.random.randint(10,30,(6,3))


&gt;&gt;実行結果
array([[21, 27, 22],
       [16, 28, 11],
       [10, 28, 28],
       [19, 27, 10],
       [27, 10, 28],
       [28, 19, 12]])</code></pre></div>
<!-- /wp:loos-hcb/code-block -->

<!-- wp:paragraph -->
<p><br><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>最後に</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Pythonでデータ分析・データサイエンスをしたい初心者向けに、<strong><mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">Pythonデータ分析徹底解説総まとめページを作成しました。</mark></mark></strong><br><br><br></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>流れに沿って実装することで、データ分析の基礎が固められます。</strong></p>
<!-- /wp:paragraph -->

https://datascience-lab.sakura.ne.jp/datamaeshori-python/