Python:Numpyのtile関数
7998 ワード
Python:Numpyのtile関数 tile関数 tile関数の適用例 1一次元拡張例 マトリックス拡張例 3補足説明
tile関数
numpyの公式の説明1によると、tile関数の役割は:
Construct an array by repeating A the number of times given by reps.
If reps has length d, the result will have dimension of max(d, A.ndim).
If A.ndim < d, A is promoted to be d-dimensional by prepending new axes. So a shape (3,) array is promoted to (1, 3) for 2-D replication, or shape (1, 1, 3) for 3-D replication. If this is not the desired behavior, promote A to d-dimensions manually before calling this function.
If A.ndim > d, reps is promoted to A.ndim by pre-pending 1’s to it. Thus for an A of shape (2, 3, 4, 5), a reps of (2, 2) is treated as (1, 1, 2, 2).
Note : Although tile may be used for broadcasting, it is strongly recommended to use numpy’s broadcasting operations and functions.
簡単に言えばtile関数の役割は配列Aをrepsを回数として拡張することである.repsはマトリクスでもよい.最も生成された配列の次元はAとrepsの両方の次元の最大値である.またtile関数はnumpyのarray構造を生成するため、arrayはpythonがlistを持参するなどのタイプとは異なり、arrayの要素は同じデータ型に属する必要があります.異なるタイプの場合は強制的に変換されます.
tile関数の適用例
1次元拡張の例
出力の結果は次のとおりです.
その結果,一次元ベクトル[0,1,2]が一次元ベクトル[0,1,2,0,1,2,0,1,2]に拡張されることが分かる.
2マトリクス拡張例
repsはマトリクスの例です.
出力の結果は次のとおりです.
結果として、(2,2)の大きさの2次元行列aを(4,6)の大きさの2次元行列bに拡張することが分かる.関数構文に対応して、すなわちreps[0]がA行列の行数サイズを拡張し、reps[1]がA行列の列数サイズを拡張する.
3補足説明
配列を生成する変数Aが要素が異なるタイプのリストリストリストまたはメタグループtupleである場合、強制タイプ変換が行われます.
出力された結果は次のとおりです.
https://docs.scipy.org/doc/numpy/reference/generated/numpy.tile.html#numpy.tile ↩︎
tile関数
numpyの公式の説明1によると、tile関数の役割は:
Construct an array by repeating A the number of times given by reps.
If reps has length d, the result will have dimension of max(d, A.ndim).
If A.ndim < d, A is promoted to be d-dimensional by prepending new axes. So a shape (3,) array is promoted to (1, 3) for 2-D replication, or shape (1, 1, 3) for 3-D replication. If this is not the desired behavior, promote A to d-dimensions manually before calling this function.
If A.ndim > d, reps is promoted to A.ndim by pre-pending 1’s to it. Thus for an A of shape (2, 3, 4, 5), a reps of (2, 2) is treated as (1, 1, 2, 2).
Note : Although tile may be used for broadcasting, it is strongly recommended to use numpy’s broadcasting operations and functions.
簡単に言えばtile関数の役割は配列Aをrepsを回数として拡張することである.repsはマトリクスでもよい.最も生成された配列の次元はAとrepsの両方の次元の最大値である.またtile関数はnumpyのarray構造を生成するため、arrayはpythonがlistを持参するなどのタイプとは異なり、arrayの要素は同じデータ型に属する必要があります.異なるタイプの場合は強制的に変換されます.
tile関数の適用例
1次元拡張の例
// An highlighted block
from numpy import tile
a = [0,1,2]
b = tile(a,3)
b
出力の結果は次のとおりです.
array([0 1 2 0 1 2 0 1 2])
その結果,一次元ベクトル[0,1,2]が一次元ベクトル[0,1,2,0,1,2,0,1,2]に拡張されることが分かる.
2マトリクス拡張例
repsはマトリクスの例です.
// An highlighted block
from numpy import tile
a = [['A','B'],['C','D']]
b = tile(a,(2,3))
b
出力の結果は次のとおりです.
array([['A', 'B', 'A', 'B', 'A', 'B'],
['C', 'D', 'C', 'D', 'C', 'D'],
['A', 'B', 'A', 'B', 'A', 'B'],
['C', 'D', 'C', 'D', 'C', 'D']], dtype=')
結果として、(2,2)の大きさの2次元行列aを(4,6)の大きさの2次元行列bに拡張することが分かる.関数構文に対応して、すなわちreps[0]がA行列の行数サイズを拡張し、reps[1]がA行列の列数サイズを拡張する.
3補足説明
配列を生成する変数Aが要素が異なるタイプのリストリストリストまたはメタグループtupleである場合、強制タイプ変換が行われます.
// An highlighted block
from numpy import tile
a = [0,'a']
b = tile(a,3)
b
出力された結果は次のとおりです.
array(['1', 'a', '1', 'a', '1', 'a'], dtype=')
https://docs.scipy.org/doc/numpy/reference/generated/numpy.tile.html#numpy.tile ↩︎