NumPy
は行列の演算に関して取り扱うライブラリであり、統計学に関するプログラムの作成を行う際によく用います。使用方法の詳細に関しては都度調べれば十分である一方で基本的な用法に関しては抑えておくと良いので、当記事ではNumPy
の抑えておきたい用法について一問一答形式でまとめました。
・プログラム集まとめ
https://www.hello-statisticians.com/stat_program
Contents
基本事項の確認
リスト形式
Python
でベクトル・行列などの多次元配列を取り扱うにあたっては主にリスト・タプル・辞書の$3$つの形式があるが、当項ではリスト形式に関して確認を行う。
ライブラリの読み込み
解答$1$つ$1$つでライブラリの読み込みを行うと冗長であるので、以下を実行した上でそれぞれの解答のプログラムを実行する必要がある。
import numpy as np
一問一答
$1$次元配列の生成
Q.1-1-1 リストからの作成
x_ = [1, 2, 3, 4, 5]
上記のように与えられたリストx_
をNumPy
の形式に変換せよ。
・解答
x = np.array(x_)
print(x)
print(type(x_))
print(type(x))
・実行結果
> print(x)
[1 2 3 4 5]
> print(type(x_)
<type 'list'>
> print(type(x))
<type 'numpy.ndarray'>
Q.1-1-2 np.arange
の用法
np.arange
を用いて0.1, 0.2, 0.3, ..., 7.9, 8.0
を要素に持つ$1$次元配列を作成せよ。
・解答
x = np.arange(0.1, 8.1, 0.1)
print(x)
・実行結果
> print(x)
[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5
1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4. 4.1 4.2 4.3 4.4 4.5
4.6 4.7 4.8 4.9 5. 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7. 7.1 7.2 7.3 7.4 7.5
7.6 7.7 7.8 7.9 8. ]
Q.1-1-3 np.linspace
の用法
np.linspace
を用いて$0$から$\pi$までに等間隔で$20$個の要素が並ぶ配列を作成せよ。
・解答
x = np.linspace(0., np.pi, 20)
print(x)
・実行結果
> print(x)
[ 0. 0.16534698 0.33069396 0.49604095 0.66138793 0.82673491
0.99208189 1.15742887 1.32277585 1.48812284 1.65346982 1.8188168
1.98416378 2.14951076 2.31485774 2.48020473 2.64555171 2.81089869
2.97624567 3.14159265]
Q.1-1-4 np.ones
の用法
np.ones
を用いて$20$個の$1$の要素が並ぶ配列を作成せよ。
・解答
x = np.ones(20)
print(x)
・実行結果
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1.]
Q.1-1-5 np.zeros
の用法
np.zeros
を用いて$20$個の$0$の要素が並ぶ配列を作成せよ。
・解答
x = np.zeros(20)
print(x)
・実行結果
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0.]