『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

numpy.tile

numpy.tile()

numpy.tile(A, reps) はスカラーまたは配列 A タイル状に敷き詰める関数です。reps で A の個数を指定します。

# NUMPY_TILE

# In[1]

import numpy as np

# [0,1]を3個並べる
a = np.tile([0, 1], 3)

print(a)
# [0 1 0 1 0 1]

reps にリスト [a, b] を渡すと、配列を縦に a 個、横に b 個並べます。

# In[2]

# [0,1]を縦に3個、横に2個並べる
b = np.tile([0, 1], [3, 2])

print(b)
# [[0 1 0 1]
#  [0 1 0 1]
#  [0 1 0 1]]

第 1 引数 A に 2 次元配列を渡すこともできます。

# In[3]

# 2次元配列を定義
x = np.array([[1, 2],
              [3, 4]])

# xを横に3個並べる
c = np.tile(x, 3)

print(c)
# [[1 2 1 2 1 2]
#  [3 4 3 4 3 4]]

 2 次元配列を縦横に並べるコードです。

# In[4]

# xを縦に2個、横に3個並べる
d = np.tile(x, [2, 3])

print(d)
# [[1 2 1 2 1 2]
#  [3 4 3 4 3 4]
#  [1 2 1 2 1 2]
#  [3 4 3 4 3 4]]

numpy.tile() を会話形式で説明します

今、世間で大流行している ChatGPT に numpy.tile() について、会話形式で説明してもらいました。
 
生徒: 講師さん、NumPyのtile関数について教えていただけますか? tile 関数はどのような役割を持っているんでしょうか?
 
講師: もちろんです! tile 関数は、NumPy 配列の要素を繰り返し複製するための関数です。繰り返しパターンを指定して、元の配列の要素をタイリング(繰り返し配置)することができます。

生徒: なるほど、要素を繰り返し配置するための関数なんですね。具体的な使い方を教えていただけますか?
 
講師: もちろんです。tile 関数は、2つの引数を受け取ります。1つ目の引数は繰り返す元の配列(タイルする配列)であり、2つ目の引数は繰り返し回数やパターンを指定するためのタプルや整数です。

import numpy as np

# 元の配列を作成
array = np.array([1, 2, 3])

# 配列を2回繰り返してタイルする
tiled_array = np.tile(array, 2)

print("タイルされた配列:", tiled_array)

この例では、array という配列が[1, 2, 3]という要素で構成されています。np.tile 関数を使って、この配列を2回繰り返してタイルした新しい配列tiled_array が作成されます。
 
生徒: なるほど、結果はどうなるんですか?
 
講師: 結果として、tiled_array が作成されます。tiled_array を出力すると、[1, 2, 3, 1, 2, 3] という配列が得られます。元の配列が2回繰り返されていることがわかります。

コメント

  1. あとりえこばと より:

    【技術英語の豆知識】tile はつまるところ「タイル」です

    tile を英英辞典で調べてみると、「壁や床を覆うために使用される、焼き粘土または他の材料でできた平らな正方形状の部品」みたいなことが英語で書いてありました。まあ、タイルはタイルですね。日本では浴室に敷き詰められていたりしますが … よく考えると私の家の浴室はタイルではありませんでした。身近なようで、案外タイルと無縁な生活を送っている人も多いかもしれません。それはともかくとして、今回紹介した関数 numpy.tile()、配列の並べ方をタイルにたとえるなんて、なかなか面白いネーミングセンスですよね。

  2. あとりえこばと より:

    読書しながら IT 分野で使われそうな英語を拾い集めてみました。

    ・integrate systems:システムを構築する
    ※この場合の integrate は「積分」ではないので注意。
     
    ・employment of numerical computations:数値計算の利用

    ・portable to all platforms:すべてのプラットフォームに移植可能な
    ※portable は「携帯できる、どこにでも持ち運べる」の意。Python は Windows, Mac, LINUX … どこでも使える。だから Python はとっても portable.

    ・key to fostering cooperation:共同作業を促進するカギ
    ※動詞の foster は「育てる、養育する」の意。目的語が抽象名詞なら「促進する」となる。

    ・discretion of the sellar:売り手の裁量