目次
概要
NumPy の雛形から配列を作成する関数を紹介します。
関数一覧
numpy.empty
指定した形状と型を持つ、初期化されていない配列を返します。
numpy.empty(shape, dtype=float, order="C")
引数
名前 | 型 | デフォルト値 |
---|---|---|
shape | int, tuple of int | |
返される配列の形状 | ||
dtype | data-type | float |
返される配列の型 | ||
order | {“C”, “F”} | “C” |
多次元配列の格納形式 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した形状と型を持つ、初期化されていない配列 |
サンプルコード
In [1]:
import numpy as np
a = np.empty(5, dtype=int)
print(a) # 初期化されていないので、値は不定
[94686204616016 4294967296 0 0 4]
In [2]:
a = np.empty((5, 5), dtype=float)
print(a) # 初期化されていないので、値は不定
[[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]]
numpy.empty_like
指定した配列と同じ形状と型を持つ、初期化をされていない配列を返します。
numpy.empty_like(prototype, dtype=None, order="K", subok=True)
引数
名前 | 型 | デフォルト値 |
---|---|---|
prototype | array_like | |
返される配列の形状と型は、prototype の形状と型で定義されます。 | ||
dtype | data-type | None |
指定した場合、返される配列の型を変更します。 | ||
order | {“C”, “F”, “A”, “K”} | “K” |
指定した場合、返される配列の格納形式を変更します。 | ||
subok | bool | True |
True の場合、返される配列は、指定した配列と同じ配列型を使用します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した配列と同じ形状と型を持つ、初期化をされていない配列 |
サンプルコード
In [3]:
# 形状 (5, 5) と型 float を持つ配列を作成する。
a = np.random.randn(5, 5)
b = np.empty_like(a)
print(b.shape, b.dtype)
print(b) # 初期化されていないので、値は不定
(5, 5) float64 [[ 1.28675528 0.80410302 -0.62860521 -0.17575024 -1.67632825] [ 0.30599304 0.44136239 -1.7411502 0.5125404 0.22553167] [-0.75652487 -0.3604931 0.72793714 -0.05103732 0.60639985] [ 1.84380532 -0.72109789 -0.05221982 -0.80845667 0.173179 ] [ 0.19807482 0.78269995 0.19848901 0.02770654 -0.2172286 ]]
numpy.zeros
指定した形状と型を持つ、すべての要素が 0 の配列を返します。
numpy.zeros(shape, dtype=float, order="C")
引数
名前 | 型 | デフォルト値 |
---|---|---|
shape | int, tuple of ints | |
返される配列の形状 | ||
dtype | data-type | float |
返される配列の型 | ||
order | {“C”, “F”} | “C” |
多次元配列の格納形式 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した形状と型を持つ、すべての要素が 0 の配列 |
サンプルコード
In [4]:
a = np.zeros(5, dtype=int)
print(a)
[0 0 0 0 0]
In [5]:
a = np.zeros((5, 5), dtype=float)
print(a)
[[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]]
numpy.zeros_like
指定した配列と同じ形状と型を持つ、すべての要素が 0 の配列を返します。
numpy.zeros_like(a, dtype=None, order="K", subok=True)
引数
名前 | 型 | デフォルト値 |
---|---|---|
a | array_like | |
返される配列の形状と型は、a の形状と型で定義されます。 | ||
dtype | data-type | None |
指定した場合、返される配列の型を変更します。 | ||
order | {“C”, “F”, “A”, “K”} | “K” |
指定した場合、返される配列の格納形式を変更します。 | ||
subok | bool | True |
True の場合、返される配列は、指定した配列と同じ配列型を使用します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した配列と同じ形状と型を持つ、すべての要素が 0 の配列 |
サンプルコード
In [6]:
# 形状 (5, 5) と型 float を持つ配列を作成する。
a = np.random.randn(5, 5)
b = np.zeros_like(a)
print(b.shape, b.dtype)
print(b)
(5, 5) float64 [[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]]
numpy.ones
指定した形状と型を持つ、すべての要素が 0 の配列を返します。
numpy.ones(shape, dtype=None, order="C")
引数
名前 | 型 | デフォルト値 |
---|---|---|
shape | int, sequence of ints | |
返される配列の形状 | ||
dtype | data-type | None |
返される配列の型 | ||
order | {“C”, “F”} | “C” |
多次元配列の格納形式 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した形状と型を持つ、すべての要素が 1 の配列 |
サンプルコード
In [7]:
a = np.ones(5, dtype=int)
print(a)
[1 1 1 1 1]
In [8]:
a = np.ones((5, 5), dtype=float)
print(a)
[[1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.] [1. 1. 1. 1. 1.]]
numpy.ones_like
指定した配列と同じ形状と型を持つ、すべての要素が 1 の配列を返します。
numpy.ones_like(a, dtype=None, order="K", subok=True)
引数
名前 | 型 | デフォルト値 |
---|---|---|
a | array_like | |
返される配列の形状と型は、a の形状と型で定義されます。 | ||
dtype | data-type | None |
指定した場合、返される配列の型を変更します。 | ||
order | {“C”, “F”, “A”, “K”} | “K” |
指定した場合、返される配列の格納形式を変更します。 | ||
subok | bool | True |
True の場合、返される配列は、指定した配列と同じ配列型を使用します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した配列と同じ形状と型を持つ、すべての要素が 1 の配列 |
サンプルコード
In [9]:
# 形状 (5, 5) と型 float を持つ配列を作成する。
a = np.random.randn(5, 5)
b = np.ones_like(a)
print(b.shape, b.dtype)
(100, 100) float64
numpy.full
指定した形状と型を持つ、すべての要素が fill_value の配列を返します。
numpy.full(shape, fill_value, dtype=None, order="C")
引数
名前 | 型 | デフォルト値 |
---|---|---|
shape | int, sequence of ints | |
返される配列の形状 | ||
fill_value | scalar | |
要素の値 | ||
dtype | data-type | None |
返される配列の型 | ||
order | {“C”, “F”} | “C” |
多次元配列の格納形式 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した形状と型を持つ、すべての要素が fill_value の配列 |
サンプルコード
In [10]:
a = np.full(5, 7, dtype=int)
print(a)
[7 7 7 7 7]
In [11]:
a = np.full((5, 5), 7, dtype=float)
print(a)
[[7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.]]
numpy.full_like
指定した配列と同じ形状と型を持つ、すべての要素が fill_value の配列を返します。
numpy.full_like(a, fill_value, dtype=None, order="K", subok=True)
引数
名前 | 型 | デフォルト値 |
---|---|---|
a | array_like | |
返される配列の形状と型は、a の形状と型で定義されます。 | ||
fill_value | scalar | |
要素の値 | ||
dtype | data-type | None |
指定した場合、返される配列の型を変更します。 | ||
order | {“C”, “F”, “A”, “K”} | “K” |
指定した場合、返される配列の格納形式を変更します。 | ||
subok | bool | True |
True の場合、返される配列は、指定した配列と同じ配列型を使用します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した配列と同じ形状と型を持つ、すべての要素が fill_value の配列 |
サンプルコード
In [12]:
# 形状 (5, 5) と型 float を持つ配列を作成する。
a = np.random.randn(5, 5)
b = np.full_like(a, 7)
print(b.shape, b.dtype)
print(b)
(5, 5) float64 [[7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.] [7. 7. 7. 7. 7.]]
numpy.eye
対角線上の要素が 1、それ以外の要素が 0 の 2 次元配列を返します。numpy.identity() と違い、こちらの関数は正方行列以外も作成できる。
numpy.eye(N, M=None, k=0, dtype=<class "float">, order="C")
引数
名前 | 型 | デフォルト値 |
---|---|---|
N | int | |
返される配列の行数 | ||
M | int | None |
返される配列の列数。None の場合、N になります。 | ||
k | int | 0 |
対角線の位置。0 は主対角線を指し、正の値は上の対角線を指し、負の値は下の対角線を指します。 | ||
dtype | data-type | |
返される配列の型 | ||
order | {“C”, “F”} | “C” |
多次元配列の格納形式 |
返り値
名前 | 説明 | ||
---|---|---|---|
I | 対角線上の要素が 1、それ以外の要素が 0 の 2 次元配列 |
サンプルコード
In [13]:
a = np.eye(4, dtype=float)
print(a)
[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]]
In [14]:
a = np.eye(4, 3, dtype=float)
print(a)
[[1. 0. 0.] [0. 1. 0.] [0. 0. 1.] [0. 0. 0.]]
In [15]:
a = np.eye(4, k=1, dtype=float)
print(a)
[[0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.] [0. 0. 0. 0.]]
In [16]:
a = np.eye(4, k=-1, dtype=float)
print(a)
[[0. 0. 0. 0.] [1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]
numpy.identity
対角線上の要素が 1、それ以外の要素が 0 の (n, n) の 2 次元配列を返します。単位行列を作成したい場合はこの関数を利用する。
numpy.identity(n, dtype=None)
引数
名前 | 型 | デフォルト値 |
---|---|---|
n | int | |
返される配列の行数 (列数) | ||
dtype | data-type | None |
返される配列の型 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 対角線上の要素が 1、それ以外の要素が 0 の (n, n) の 2 次元配列 |
サンプルコード
In [17]:
a = np.identity(4, dtype=float)
print(a)
[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]]
コメント