Operasi Tatasusunan dan Penyiaran
Lakukan aritmetik tervektor dan fahami peraturan penyiaran.
Operasi Tatasusunan dan Penyiaran ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.
Aritmetik Tervektor
NumPy menggunakan aritmetik pada setiap elemen merentasi seluruh tatasusunan tanpa gelung Python — pelaksanaannya menggunakan kod C yang dioptimumkan.
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(a * b) # [4 10 18]
print(a ** 2) # [1 4 9]Fungsi Sejagat
Fungsi sejagat NumPy menggunakan fungsi C pada setiap elemen: np.sqrt, np.exp, np.log, np.sin dan sebagainya.
import numpy as np
x = np.linspace(0, np.pi, 5)
print(np.sin(x)) # [0. 0.707 1. 0.707 0.]
print(np.exp([1.0, 2.0, 3.0])) # [2.718 7.389 20.086]Operasi Meringkaskan
Ringkaskan tatasusunan kepada skalar (atau tatasusunan berdimensi lebih rendah) dengan np.sum, np.mean, np.max, np.min dan np.std.
import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6]])
print(np.sum(m)) # 21
print(np.sum(m, axis=0)) # [5 7 9] — sum each column
print(np.sum(m, axis=1)) # [6 15] — sum each rowPeraturan Penyiaran
Penyiaran mengembangkan tatasusunan yang lebih kecil supaya sepadan dengan tatasusunan yang lebih besar — tanpa menyalin data. Peraturannya: dimensi disejajarkan dari kanan; dimensi bersaiz 1 dikembangkan.
import numpy as np
a = np.array([[1], [2], [3]]) # shape (3,1)
b = np.array([10, 20, 30]) # shape (3,)
print(a + b)
# [[11 21 31]
# [12 22 32]
# [13 23 33]]Penyiaran Operasi Skalar
Skalar disiarkan merentasi semua elemen tatasusunan.
import numpy as np
arr = np.arange(6).reshape(2, 3)
print(arr + 10)
# [[10 11 12]
# [13 14 15]]
print(arr * 0.5)
# [[0. 0.5 1. ]
# [1.5 2. 2.5]]Operasi Perbandingan dan Boolean
Perbandingan menghasilkan tatasusunan boolean. Gabungkannya dengan &, | dan ~ (bukan and/or/not Python).
import numpy as np
arr = np.array([1, 5, 3, 8, 2])
print(arr > 3) # [False True False True False]
print(arr[(arr > 2) & (arr < 7)]) # [5 3]where()
np.where(condition, x, y) mengembalikan elemen daripada x apabila True dan daripada y apabila False.
import numpy as np
arr = np.array([-2, 3, -1, 4, 0])
result = np.where(arr >= 0, arr, 0) # clip negatives to 0
print(result) # [0 3 0 4 0]Pengagregatan Sepanjang Paksi
Tentukan axis= untuk meringkaskan sepanjang dimensi tertentu bagi tatasusunan berbilang dimensi.
import numpy as np
data = np.arange(12).reshape(3, 4)
print(data.mean(axis=0)) # mean of each column → shape (4,)
print(data.mean(axis=1)) # mean of each row → shape (3,)cumsum dan diff
np.cumsum mengira jumlah kumulatif; np.diff mengira perbezaan antara elemen berturutan.
import numpy as np
prices = np.array([100, 110, 105, 115])
print(np.cumsum(prices)) # [100 210 315 430]
print(np.diff(prices)) # [10 -5 10] (daily changes)Operasi String Tervektor
np.char menyediakan operasi string tervector pada tatasusunan string.
import numpy as np
words = np.array(["apple", "banana", "cherry"])
print(np.char.upper(words)) # ['APPLE' 'BANANA' 'CHERRY']
print(np.char.startswith(words, "a")) # [True False False]Prestasi berbanding Senarai Python
NumPy adalah 10–100 kali lebih pantas daripada gelung Python yang setara untuk kerja berangka kerana ia dilaksanakan dalam C tanpa overhed pentafsir Python.
import numpy as np, time
n = 1_000_000
start = time.perf_counter()
python_sum = sum(i**2 for i in range(n))
print(f"Python: {time.perf_counter()-start:.3f}s")
arr = np.arange(n)
start = time.perf_counter()
numpy_sum = (arr**2).sum()
print(f"NumPy: {time.perf_counter()-start:.3f}s")Semakan Pantas
Apabila tatasusunan berbentuk (3,1) ditambah dengan tatasusunan berbentuk (3,), apakah bentuk hasilnya?
Rumusan
Operasi NumPy dilaksanakan pada setiap elemen dalam C (tanpa gelung Python). Penyiaran mengembangkan bentuk yang serasi tanpa menyalin. Gunakan axis= untuk meringkaskan sepanjang dimensi tertentu. Fungsi sejagat (np.sin, np.exp dan sebagainya) dilaksanakan pada setiap elemen dengan kelajuan C.
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 320
Soalan Lazim
Adakah pelajaran “Operasi Tatasusunan dan Penyiaran” percuma?
Ya — teks penuh “Operasi Tatasusunan dan Penyiaran” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Operasi Tatasusunan dan Penyiaran”?
Lakukan aritmetik tervektor dan fahami peraturan penyiaran. Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Python Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Operasi Tatasusunan dan Penyiaran” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Tatasusunan NumPy dan dtypes
- Operasi Tatasusunan dan Penyiaran
- Pengindeksan, Pemotongan dan Pengindeksan Lanjutan
- Algebra Linear dengan NumPy