レッスン4 / 4問目

『~like』

このレッスンでは既存のndarrayの形状と型をテンプレートにして配列を生成する方法を学習していきます。

以下のように「zeros」「ones」「full」「empty」それぞれの第一引数にndarrayを渡すことでそのndarrayの形状と型を持ったそれぞれの配列を生成することができます。

メソッド 説明
zeros_like(ndarray)指定した配列と同じ形状・型で要素を全て0にした配列を生成
ones_like(ndarray)指定した配列と同じ形状・型で要素を全て1にした配列を生成
full_like(ndarray, 指定要素)指定した配列と同じ形状・型で要素を全て指定要素にした配列を生成
empty_like(ndarray)指定した配列と同じ形状・型で未初期化の配列を生成

以下はzeros_like()を使った例です。

  1. arr = np.array([[1, 2, 3],
  2.                      [4, 5, 6]])
  3. print(np.zeros_like(arr))
[[0, 0, 0], [0, 0, 0]]    # 配列arrの要素を全て0とした配列が生成される。

上記ではarrの形状と型を持つ要素が全て0の配列を生成しています。このように既にある配列をテンプレートにして配列を作ることができます。今回の例ではzerosを使いましたが、他のメソッドでも要領は同じです。

少し短くなりますが、今回のレッスンはこれで以上となります。

では練習問題にチャレンジしてみましょう。

Lesson1

arangeとreshapeを用いて以下の3行2列の配列を生成し変数arrに格納してください。

[[0, 1],  [2, 3],  [4, 5]]

Lesson2

作成した配列arrの要素を全て1に置き換えた配列を生成し出力してください。

関連レッスン
arange
reshape

Last updated:2019/10/18

[[1 1]
 [1 1]
 [1 1]]
arange()は第一引数に開始、第二引数に終了、第三引数に増加分を指定します。
reshape()は第一引数に行、第二引数に列を指定します。
  1. import numpy as np

  2. # arangeとreshapeを用いて指定した配列を生成しarrに格納してください。

  3. arr = np.arange(6).reshape(3, 2)

  4. # 配列arrの要素を全て1に置き換えた配列を生成し出力してください。

  5. print(np.ones_like(arr))
main.py
設定
g
n
i
d
a
o
L