0Pricing
Learn AI with Python · レッスン

配列の作成とプロパティ

np.array()、np.zeros/ones/eye/arange/linspace、shape、dtype、ndim、size を扱います。

「配列の作成とプロパティ」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。

ndarray

NumPyの中心的なオブジェクトはndarrayです。これは、連続したメモリ領域に格納された、固定サイズで同一型の数値グリッドです。このメモリ配置によって、NumPyは高速に動作します。

import numpy as np
a = np.array([1, 2, 3, 4])
print(a)   # [1 2 3 4]

入れ子になったリストから作成する

リストのリストを渡すと、2次元配列を作成できます。NumPyは構造から形状を推測します。

m = np.array([[1, 2, 3], [4, 5, 6]])
print(m)
# [[1 2 3]
#  [4 5 6]]

ゼロと1の配列

np.zerosとnp.onesは、指定した形状の配列をあらかじめ確保します。値を埋める前のプレースホルダーを作成する標準的な方法です。

print(np.zeros((2, 3)))   # 2x3 of 0.0
print(np.ones(4))         # [1. 1. 1. 1.]

eyeで単位行列を作成する

np.eye(n)はn×nの単位行列を作成します。対角線上が1で、それ以外が0になります。線形代数に欠かせない関数です。

print(np.eye(3))
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

arangeで範囲を作成する

np.arange(start, stop, step)はPythonのrangeと同じように動作しますが、配列を返し、浮動小数点数のステップも受け付けます。

print(np.arange(0, 10, 2))   # [0 2 4 6 8]
print(np.arange(0, 1, 0.25))  # [0.   0.25 0.5  0.75]

linspaceで等間隔にする

np.linspace(start, stop, num)は、両端を含むnum個の等間隔な点を返します。プロットの軸を作るのに最適です。

print(np.linspace(0, 1, 5))   # [0.   0.25 0.5  0.75 1.  ]

arangeとlinspaceの違い

stepが分かっている場合はarangeを、点の個数が分かっている場合はlinspaceを使います。linspaceなら、浮動小数点数のステップによるずれを避けられます。

# 50 points from 0 to 2*pi for a smooth curve
x = np.linspace(0, 2 * np.pi, 50)

shapeとndim

.shapeは各次元のサイズを表すタプルで、.ndimは次元数です。2x3の配列のshapeは(2,3)、ndimは2になります。

m = np.array([[1, 2, 3], [4, 5, 6]])
print(m.shape)   # (2, 3)
print(m.ndim)    # 2

sizeとdtype

.sizeは要素の総数で、.dtypeは要素のデータ型です。NumPyは効率的な数値型を自動的に選択します。

print(m.size)    # 6
print(m.dtype)   # int64

itemsizeとメモリ

.itemsizeは、1要素のバイト数です。.sizeを掛けると、配列が使用するメモリ量を見積もれます。

print(m.itemsize)          # 8 (bytes per int64)
print(m.size * m.itemsize) # 48 bytes total

dtypeを選択する

メモリを節約したり、精度を確保したりするために、dtypeを指定できます。float32ならfloat64の半分のメモリで済みます。

a = np.array([1, 2, 3], dtype=np.float32)
print(a.dtype)      # float32
print(a.itemsize)   # 4

確認テスト

配列の作成について理解できているか確認しましょう。

まとめ

配列を作成するための機能です。

  • リストから作るnp.array、プレースホルダーを作るnp.zeros/np.ones、単位行列を作るnp.eye
  • np.arange(ステップで指定)とnp.linspace(個数で指定)
  • プロパティ:shape、ndim、size、dtype、itemsize

よくある質問

「配列の作成とプロパティ」レッスンは無料ですか?

はい。「配列の作成とプロパティ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。

「配列の作成とプロパティ」で何を学びますか?

np.array()、np.zeros/ones/eye/arange/linspace、shape、dtype、ndim、size を扱います。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Learn AI with Pythonを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「配列の作成とプロパティ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLearn AI with Pythonレッスンでコードを書いて実行できますか?

はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 配列の作成とプロパティ
  2. インデックス参照、スライス、ファンシーインデックス
  3. ブロードキャストとベクトル化演算
  4. NumPy による線形代数
← Learn AI with Pythonに戻る