Atribut dan Pemeriksaan Array
Jelajahi atribut ndim, shape, size, dan dtype, lalu pelajari cara mengubah bentuk array dengan reshape()
Atribut dan Pemeriksaan Array adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Pandas & NumPy Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Mengapa Atribut Array Penting
Sebelum mengolah array, Anda perlu mengetahui shape, dimensi, dan dtype-nya. NumPy menyediakan semua informasi ini secara langsung melalui atribut yang ringan.
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print('ndim:', a.ndim) # 2
print('shape:', a.shape) # (2, 3)
print('size:', a.size) # 6
print('dtype:', a.dtype) # int64ndim: Jumlah Dimensi
ndim memberi tahu jumlah dimensi array: list datar memiliki 1 dimensi, list berisi list memiliki 2 dimensi, dan tensor ML sering memiliki 3 atau 4 dimensi.
import numpy as np
v = np.array([1, 2, 3])
print(v.ndim) # 1
m = np.zeros((4, 5))
print(m.ndim) # 2
t = np.ones((2, 3, 4))
print(t.ndim) # 3shape: Tuple Dimensi
shape adalah tuple dengan satu ukuran untuk setiap dimensi. Untuk array 2-D, ukurannya adalah (baris, kolom) — dan Anda dapat membongkarnya untuk menulis kode yang fleksibel.
import numpy as np
a = np.arange(24).reshape(2, 3, 4)
print(a.shape) # (2, 3, 4)
n_rows, n_cols = np.zeros((5, 7)).shape
print(n_rows, n_cols) # 5 7size: Jumlah Total Elemen
size memberikan jumlah total elemen — hasil perkalian semua nilai dalam shape. Ini berguna untuk memastikan reshape tidak menghilangkan apa pun.
import numpy as np
a = np.ones((3, 4, 5))
print(a.size) # 60 (3*4*5)
print(np.prod(a.shape))# 60
# Memory estimate in bytes
print(a.size * a.itemsize, 'bytes') # 480 bytesdtype: Tipe Data Elemen
dtype menjelaskan tipe setiap elemen, sedangkan itemsize memberi tahu ukuran dalam byte. Mengganti float64 dengan float32 mengurangi penggunaan memori hingga separuh dan sering kali membuat program berjalan lebih cepat.
import numpy as np
a = np.array([1.5, 2.5, 3.5])
print(a.dtype) # float64
print(a.itemsize) # 8 bytes
b = a.astype(np.float32)
print(b.dtype) # float32
print(b.itemsize) # 4 bytesnbytes: Total Penggunaan Memori
nbytes adalah total memori array dalam byte — cukup dengan mengalikan size dan itemsize. Periksa sebelum dan sesudah downcasting untuk memastikan ruang benar-benar dihemat.
import numpy as np
a = np.ones((1000, 1000), dtype=np.float64)
print(a.nbytes) # 8000000 (8 MB)
b = a.astype(np.float32)
print(b.nbytes) # 4000000 (4 MB)reshape(): Mengubah Shape Array
reshape memberi array shape baru tanpa menyalin data, selama jumlah elemennya tetap sama. Berikan -1 dan NumPy akan menentukan dimensi tersebut untuk Anda.
import numpy as np
a = np.arange(12)
print(a.shape) # (12,)
b = a.reshape(3, 4)
print(b.shape) # (3, 4)
c = a.reshape(2, -1) # -1 inferred as 6
print(c.shape) # (2, 6)Meratakan dengan ravel() dan flatten()
Baik ravel() maupun flatten() meratakan array menjadi 1-D. Perbedaannya: ravel biasanya berbagi memori (tanpa salinan), sedangkan flatten selalu membuat salinan baru.
import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6]])
r = m.ravel() # view (usually)
f = m.flatten() # always a copy
print(r) # [1 2 3 4 5 6]
print(f) # [1 2 3 4 5 6]Mentransposisi Array
Atribut .T memberi Anda hasil transpose — baris dan kolom ditukar. Operasi ini gratis (tidak ada data yang disalin) dan penting untuk menyelaraskan matriks.
import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6]]) # shape (2, 3)
print(m.T.shape) # (3, 2)
print(m.T)
# [[1 4]
# [2 5]
# [3 6]]strides: Tata Letak Memori
strides menunjukkan jumlah byte yang dilewati NumPy dalam memori untuk setiap dimensi. Inilah alasan transposisi gratis — operasi tersebut hanya menukar nilai stride.
import numpy as np
a = np.ones((3, 4), dtype=np.float64)
print(a.strides) # (32, 8) — 4 cols x 8 bytes, 1 col x 8 bytes
b = a.T
print(b.strides) # (8, 32) — strides swapped, no data copyMemeriksa View dan Salinan
Sebuah view berbagi memori dengan array asli, sehingga perubahan pada salah satunya mengubah keduanya; salinan bersifat mandiri. Gunakan np.shares_memory(a, b) untuk memeriksa yang Anda miliki.
import numpy as np
a = np.arange(6)
b = a.reshape(2, 3) # view
print(np.shares_memory(a, b)) # True
c = a.copy()
print(np.shares_memory(a, c)) # FalsePemeriksaan Singkat
Uji pemahaman Anda tentang atribut array NumPy dari pelajaran ini.
Rangkuman Pelajaran
Perkembangan yang bagus! ndim, shape, dan size menjelaskan struktur, dtype menjelaskan data, dan reshape mengembalikan view sedangkan flatten selalu membuat salinan. Berikutnya: operasi matematika array.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Atribut dan Pemeriksaan Array” gratis?
Ya — teks lengkap “Atribut dan Pemeriksaan Array” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Pandas & NumPy Academy, upgrade ke CoddyKit PRO. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Atribut dan Pemeriksaan Array”?
Jelajahi atribut ndim, shape, size, dan dtype, lalu pelajari cara mengubah bentuk array dengan reshape() Kamu berlatih Pandas & NumPy Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Pandas & NumPy Academy?
Tidak diperlukan pengalaman sebelumnya. Pandas & NumPy Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Atribut dan Pemeriksaan Array” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Pandas & NumPy Academy ini?
Ya. Setiap pelajaran Pandas & NumPy Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membuat Array NumPy
- Atribut dan Pemeriksaan Array
- Aritmetika Per Elemen
- Pemotongan dan Pengindeksan Array