Langsung saja, perhatikan gambar berikut.
Sehingga, bentuk-bentuk matriks dapat dibagi sebagai berikut:
- 1D array, contohnya matrik berbentuk (2, ), (3, ), (4, ).
- 2D array, contohnya matrik berbentuk (3, 1), (2,3), (3,3).
- 3D array, contohnya matrik berbentuk (3, 1, 1), (3, 2, 3), (4,3,2).
- ND array, contohnya matrik berukuran (n, 4, 3, 2), (n, n, 4, 3, 2).
Jika a adalah sebuah NumPy array (disingkat: np array), maka beberapa atribut (perintah) penting dari a adalah:
- a.ndim: untuk mengetahui banyaknya dimensi dari variabel np array (1D, 2D, dll).
- a.shape: untuk mengetahui bentuk/shape dari variabel np array (misal (2,3)).
- a.size : untuk mengetahui total elemen matriks.
- len(a): untuk mengetahui panjang (baris/axis 0) dari np array, sama dengan a.shape[0].
Perhatikan screen cast berikut untuk implementasinya dengan Python.
Sesuai dengan judul artikel ini, size dan shape merujuk pada ukuran dan bentuk. Ukuran bernilai skalar, yakni banyaknya elemen, sedangkan bentuk bernilai matriks (baris, kolom). Namun kedua istilah tersebut kadang disamakan. Contohnya berikut.
In [1]: a = np.random.randint(0,10, size=(4, 3)) In [2]: a.shape Out[2]: (4, 3) In [3]: a.size Out[3]: 12 In [4]: b = np.zeros(shape=(3, 2)) In [5]: b.shape Out[5]: (3, 2) In [6]: b.size Out[6]: 6Jadi sebagai attribut kelas, shape dan size berbeda, sedangkan sebagai argumen keduanya sampai saat ini masih disamakan. Mungkin karena pengaruh bahasa C seperti yang didiskusikan pada forum ini.
Untuk memahami pengubahan bentuk matriks pada NumPy array, silahkan baca artikel saya di SainsHack berikut: pengubahan bentuk matriks pada NumPy arrah.