Pustaka data NumPy
NumPy — perpustakaan sumber terbuka untuk bahasa pengaturcaraan Python, yang melaksanakan sejumlah besar operasi untuk bekerja dengan vektor, matriks dan tatasusunan.
Algoritma matematik yang dilaksanakan dalam bahasa yang ditafsirkan (contohnya Python) selalunya jauh lebih perlahan daripada yang dilaksanakan dalam bahasa yang disusun (cth Fortran, C, Java). Pustaka NumPy menyediakan pelaksanaan algoritma pengiraan (dalam bentuk fungsi dan pengendali) yang dioptimumkan untuk bekerja dengan tatasusunan berbilang dimensi.
Akibatnya, sebarang algoritma yang boleh dinyatakan sebagai jujukan operasi pada tatasusunan (matriks) dan dilaksanakan menggunakan NumPy adalah cukup pantas.
NumPy (Numeric Python) ialah perpustakaan matematik teras untuk bekerja dengan data. Pustaka ini mendasari perpustakaan lain untuk bekerja dengan pembelajaran mesin atau tugas analisis data (contohnya, Panda (berfungsi dengan data jadual), SciPy (kaedah pengoptimuman dan pengiraan saintifik), < tt>Matplotlib (memplot)).
Bekerja dengan NumPy
Untuk mula bekerja dengan perpustakaan numpy, anda perlu mengimportnya pada permulaan program seperti perpustakaan lain,
import numpy
atau lebih (yang digunakan lebih kerap)
import numpy sebagai np
Vektor NumPy
Vektor (atau tatasusunan) dalam NumPy ialah set tersusun data homogen.
Unsur vektor boleh diakses oleh indeksnya, sama seperti ia dilakukan dalam senarai. Setiap elemen vektor mempunyai tempat tersendiri, yang ditetapkan semasa penciptaan.
Semua elemen vektor mempunyai jenis data yang sama (int, str, bool, dsb.).
Mencipta Vektor
Untuk mencipta vektor, anda perlu menggunakan pembina numpy.array (objek boleh lelar).
Tanda kurung menunjukkan sebarang objek boleh lelar: tuple, senarai, julat(), dsb.
Contoh
import numpy sebagai np
import numpy sebagai np
print(np.array((1,2,3,4,5))) # vektor daripada tupel
print(np.array([1,2,3,4,5])) # vektor daripada senarai
print(np.array(julat(5))) # vektor daripada penjana
|
Bekerja dengan elemen vektor
Bekerja dengan elemen vektor adalah sama seperti elemen senarai, anda boleh mengakses elemen mengikut indeksnya, dan juga membuat kepingan.
Contoh
1
2
3
4
5
6
7
|
import numpy sebagai np
V = np.array((1,2,3,4))
cetak(V[0]) # 1
cetak(V[-1]) # 4
cetak(V[1:-2]) # [2]
print(V[::2]) # [1 3]
|
|
Memilih elemen vektor
Untuk memilih elemen vektor, anda boleh menggunakan vektor yang mengandungi nilai logik (ungkapan). Unsur-unsur vektor yang akan menjadi True dalam vektor dengan nilai boolean akan dipilih.
Contoh
import numpy sebagai np
V = np.array([1,-2,3,-4,5])
# pilih dua elemen pertama vektor
print(V[np.array((Betul, Betul, Salah, Salah, Salah))]) # [ 1 -2]
# pilih elemen vektor positif
cetak(V[V > 0]) # [1 3 5]
# pilih elemen vektor genap
cetak(V[V % 2 == 0]) # [-2 -4]
|
Cara untuk mencipta tatasusunan dan matriks
Cara lain yang berguna untuk mencipta tatasusunan dan matriks.
Contoh
1
2
3
4
5
6
7
8
9
10
sebelas
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
tiga puluh
31
32
33
34
35
36
37
|
import numpy sebagai np
# Tatasusunan sifar satu dimensi
print(np.sifar(5)) #[0. 0.0.0.0.]
# Tatasusunan sifar dua dimensi
print(np.sifar((2, 3))) # [[0. 0.0.]
#[0. 0.0.]]
# Tatasusunan unit 3D
print(np.ones((2,3,4))) # [[[1. 1. 1. 1.]
# [1. 1. 1. 1.]
# [1. 1. 1. 1.]]
#
# [[1. 1. 1. 1.]
# [1. 1. 1. 1.]
# [1. 1. 1. 1.]]]
# Tatasusunan sifar dengan petunjuk jenis
print(np.zeros(5, dtype=np.int)) # [0 0 0 0 0]
# Tatasusunan berdasarkan senarai senarai
print(np.array([[1,2.0],[0,0],(1,3.)])) # [[1. 2.]
#[0. 0.]
# [1. 3.]]
# Tatasusunan yang diisi dengan unsur janjang aritmetik bermula dari 0
print(np.arange(10)) # [0 1 2 3 4 5 6 7 8 9]
# Janjang aritmetik dengan petunjuk jenis
print(np.arange(2, 10, dtype=np.float)) # [2. 3. 4. 5. 6. 7. 8. 9.]
# Janjang aritmetik dengan beza bukan integer
print(np.arange(2, 3, 0.1)) # [2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9]
# Janjang aritmetik dengan bilangan sebutan tertentu
print(np.linspace(1., 4., 6)) # [1. 1.6 2.2 2.8 3.4 4.
|
|
Sifar elemen tatasusunan
Fungsi bukan sifar(V)
Hasilnya ialah satu tuple tatasusunan. Setiap tatasusunan sedemikian sepadan dengan paksi berasingan tatasusunan asal dan mengandungi indeks dengan unsur bukan sifar dalam tatasusunan ini.
V - a NumPy array atau objek seperti tatasusunan.
Mengembalikan Python tuple (tuple) - tuple dengan tatasusunan indeks unsur bukan sifar daripada tatasusunan asal V.
Fungsi count_nonzero(V)
Fungsi ini berdasarkan kaedah terbina dalam __bool__() objek Python yang menyemak sama ada ia benar. Ia berikutan bahawa fungsi count_nonzero() sebenarnya boleh berfungsi bukan sahaja dengan nombor, tetapi juga dengan mana-mana objek yang boleh sama ada benar atau palsu.
V - a NumPy array atau objek seperti tatasusunan.
Fungsi ini mengembalikan bilangan elemen tatasusunan bukan sifar di sepanjang paksi yang ditentukan.
|
Susun Serong
Fungsi diag(V, k=0) membolehkan anda mengekstrak pepenjuru daripada tatasusunan, serta membina tatasusunan pepenjuru daripada tatasusunan satu dimensi.
V - Objek seperti tatasusunan, tatasusunan dua dimensi atau satu dimensi, matriks, senarai atau tupel, atau sebarang fungsi atau objek dengan kaedah yang mengembalikan senarai atau tupel.
k - indeks pepenjuru (pilihan).
Lalai ialah k = 0 yang sepadan dengan pepenjuru utama. Nilai k positif menggerakkan pepenjuru ke atas, nilai negatif menggerakkannya ke bawah.
Fungsi mengembalikan tatasusunan NumPy (ndarray) - pepenjuru tatasusunan yang ditentukan atau tatasusunan pepenjuru daripada tatasusunan satu dimensi yang ditentukan.
|
tatasusunan NumPy 2D
Elemen tatasusunan dua dimensi diakses dengan menentukan koordinat elemen, pertama nombor baris, kemudian nombor lajur. Koordinat dipisahkan dengan koma.
Sebarang tatasusunan boleh ditukar kepada tatasusunan dua dimensi menggunakan fungsi reshape().
Contoh
1
2
3
4
5
6
7
8
|
# Fungsi reshape() mengubah bentuk tatasusunan tanpa mengubah datanya.
x = np.arange(12).bentuk semula(3, 4)
cetak(x) # [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
# Untuk mengakses elemen, nyatakan koordinatnya yang dipisahkan dengan koma
print(x[1, 2]) # 6
|
|