【NumPy】配列を繰り返し並べ、タイル状にするnp.tile[Python]

  • URLをコピーしました!

NumPy

前回、matplotlibで等高線図を表示するplt.contourを紹介しました。

今回はNumPyで配列を繰り返し並べ、タイル状にするnp.tileを紹介します。

それでは始めていきましょう。

np.tileの基本的な使い方

np.tileは「np.tile(配列, 繰り返し回数)」という形で用います。

import numpy as np

print(np.tile([1, 2, 3], 3))

実行結果
[1 2 3 1 2 3 1 2 3]

配列の要素には小数や文字列を取ることも可能です。

import numpy as np

print(np.tile([0.1, 0.2, 0.3], 3))

実行結果
[0.1 0.2 0.3 0.1 0.2 0.3 0.1 0.2 0.3]
import numpy as np

print(np.tile(["a", "b", "c"], 3))

実行結果
['a' 'b' 'c' 'a' 'b' 'c' 'a' 'b' 'c']

タイル状の多次元配列の作り方

np.tileを使って多次元配列を作る場合、繰り返し回数をリストで複数指定します。

import numpy as np

print(np.tile([1, 2, 3], [3, 1]))

実行結果
[[1 2 3]
 [1 2 3]
 [1 2 3]]

3次元以上の配列を作成することも可能です。

import numpy as np

print(np.tile([1, 2, 3], [3, 2, 1]))

実行結果
[[[1 2 3]
  [1 2 3]]

 [[1 2 3]
  [1 2 3]]

 [[1 2 3]
  [1 2 3]]]

また元の配列が多次元でも出力が多次元配列となります。

import numpy as np

print(np.tile([[1, 2, 3],[4, 5, 6]], 3))

実行結果
[[1 2 3 1 2 3 1 2 3]
 [4 5 6 4 5 6 4 5 6]]

元の配列が多次元配列の場合でも、繰り返し回数をリストで複数指定すると複雑な多次元配列を作成することができます。

import numpy as np

print(np.tile([[1, 2, 3],[4, 5, 6]], [3, 1]))

実行結果
[[1 2 3]
 [4 5 6]
 [1 2 3]
 [4 5 6]
 [1 2 3]
 [4 5 6]]
import numpy as np

print(np.tile([[1, 2, 3],[4, 5, 6]], [2, 3]))

実行結果
[[1 2 3 1 2 3 1 2 3]
 [4 5 6 4 5 6 4 5 6]
 [1 2 3 1 2 3 1 2 3]
 [4 5 6 4 5 6 4 5 6]]
import numpy as np

print(np.tile([[1, 2, 3],[4, 5, 6]], [2, 3, 4]))

実行結果
[[[1 2 3 1 2 3 1 2 3 1 2 3]
  [4 5 6 4 5 6 4 5 6 4 5 6]
  [1 2 3 1 2 3 1 2 3 1 2 3]
  [4 5 6 4 5 6 4 5 6 4 5 6]
  [1 2 3 1 2 3 1 2 3 1 2 3]
  [4 5 6 4 5 6 4 5 6 4 5 6]]

 [[1 2 3 1 2 3 1 2 3 1 2 3]
  [4 5 6 4 5 6 4 5 6 4 5 6]
  [1 2 3 1 2 3 1 2 3 1 2 3]
  [4 5 6 4 5 6 4 5 6 4 5 6]
  [1 2 3 1 2 3 1 2 3 1 2 3]
  [4 5 6 4 5 6 4 5 6 4 5 6]]]

次回はNumPyでπや角度とラジアンの変換、三角関数(sin、cos、tan)、逆三角関数(arcsin、arccos、arctan)を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする