Ilmu Data

Tutorial Python NumPy

Tutorial Python NumPy
Dalam pelajaran tentang library Python NumPy ini, kita akan melihat bagaimana library ini memungkinkan kita untuk mengelola objek array dimensi-N yang kuat dengan fungsi canggih yang ada untuk memanipulasi dan mengoperasikan array ini. Untuk melengkapi pelajaran ini, kita akan membahas bagian-bagian berikut:

Apa itu paket Python NumPy??

Sederhananya, NumPy adalah singkatan dari 'Python Numerik' dan itulah yang ingin dipenuhi, untuk memungkinkan operasi numerik kompleks dilakukan pada objek array N-dimensi dengan sangat mudah dan dengan cara yang intuitif. Ini adalah perpustakaan inti yang digunakan dalam komputasi ilmiah, dengan fungsi yang ada untuk melakukan operasi aljabar linier dan operasi statistik.

Salah satu konsep paling mendasar (dan menarik) untuk NumPy adalah penggunaan objek array dimensi-N. Kita dapat mengambil array ini hanya sebagai kumpulan baris dan kolom, seperti file MS-Excel. Dimungkinkan untuk mengubah daftar Python menjadi array NumPy dan mengoperasikan fungsi di atasnya.

Representasi Array NumPy

Sekedar catatan sebelum memulai, kami menggunakan lingkungan virtual untuk pelajaran ini yang kami buat dengan perintah berikut:

python -m virtualenv numpy
sumber numpy/bin/aktifkan

Setelah lingkungan virtual aktif, kita dapat menginstal pustaka numpy di dalam virtual env sehingga contoh yang kita buat selanjutnya dapat dieksekusi:

pip install numpy

Kami melihat sesuatu seperti ini ketika kami menjalankan perintah di atas:

Mari kita cepat menguji apakah paket NumPy telah diinstal dengan benar dengan cuplikan kode singkat berikut:

impor numpy sebagai np
a = np.larik([1,2,3])
cetak (a)

Setelah Anda menjalankan program di atas, Anda akan melihat output berikut:

Kami juga dapat memiliki array multi-dimensi dengan NumPy:

multi_dimensi = np.array([(1, 2, 3), (4, 5, 6)])
cetak (multi_dimensi)

Ini akan menghasilkan output seperti:

[[1 2 3]
[4 5 6]]

Anda dapat menggunakan Anaconda juga untuk menjalankan contoh-contoh ini yang lebih mudah dan itulah yang telah kami gunakan di atas. Jika Anda ingin menginstalnya di mesin Anda, lihat pelajaran yang menjelaskan "Cara Menginstal Anaconda Python di Ubuntu 18".04 LTS” dan bagikan tanggapan Anda. Sekarang, mari kita lanjutkan ke berbagai jenis operasi yang dapat dilakukan dengan array Python NumPy.

Menggunakan array NumPy di ​​atas daftar Python

Penting untuk ditanyakan bahwa ketika Python sudah memiliki struktur data yang canggih untuk menampung banyak item daripada mengapa kita membutuhkan array NumPy sama sekali? Array NumPy adalah lebih disukai daripada daftar Python karena alasan berikut:

Biarkan kami buktikan bahwa array NumPy menempati lebih sedikit memori. Ini dapat dilakukan dengan menulis program Python yang sangat sederhana:

impor numpy sebagai np
waktu impor
sistem impor
python_list = rentang(500)
cetak(sys.getsizeof(1) * len(python_list))
numpy_arr = np.rentang (500)
cetak(numpy_arr.ukuran * numpy_arr.ukuran item)

Ketika kita menjalankan program di atas, kita akan mendapatkan output sebagai berikut:

14000
4000

Ini menunjukkan bahwa daftar ukuran yang sama adalah lebih dari 3 kali dalam ukuran jika dibandingkan dengan ukuran yang sama NumPy array.

Melakukan operasi NumPy

Di bagian ini, mari kita melihat sekilas operasi yang dapat dilakukan pada array NumPy.

Menemukan dimensi dalam array

Karena array NumPy dapat digunakan di ruang dimensi apa pun untuk menyimpan data, kita dapat menemukan dimensi array dengan cuplikan kode berikut:

impor numpy sebagai np
numpy_arr = np.array([(1,2,3),(4,5,6)])
cetak(numpy_arr.tidak ada)

Kita akan melihat output sebagai “2” karena ini adalah array 2 dimensi.

Menemukan tipe data item dalam array

Kita dapat menggunakan array NumPy untuk menampung tipe data apa pun. Sekarang mari kita cari tahu tipe data dari data yang berisi array:

other_arr = np.array([('kagum', 'b', 'kucing')])
cetak(lain_arr.tipe d)
numpy_arr = np.array([(1,2,3),(4,5,6)])
cetak(numpy_arr.tipe d)

Kami menggunakan berbagai jenis elemen dalam cuplikan kode di atas. Berikut adalah output yang akan ditampilkan skrip ini:

int64

Ini terjadi karena karakter ditafsirkan sebagai karakter unicode dan yang kedua jelas.

Membentuk kembali item dari array

Jika array NumPy terdiri dari 2 baris dan 4 kolom, array tersebut dapat dibentuk ulang menjadi berisi 4 baris dan 2 kolom. Mari kita tulis cuplikan kode sederhana untuk hal yang sama:

asli = np.array([('1', 'b', 'c', '4'), ('5', 'f', 'g', '8')])
cetak (asli)
dibentuk ulang = asli.membentuk kembali(4, 2)
cetak (dibentuk ulang)

Setelah kami menjalankan cuplikan kode di atas, kami akan mendapatkan output berikut dengan kedua array dicetak ke layar:

[['1' 'b' 'c' '4']
['5' 'f' 'g' '8']]
[['1' 'b']
['c' '4']
['5' 'f']
['g' '8']]

Perhatikan bagaimana NumPy menangani pemindahan dan pengaitan elemen ke baris baru.

Operasi matematika pada item array on

Melakukan operasi matematika pada item array sangat sederhana. Kami akan mulai dengan menulis cuplikan kode sederhana untuk mengetahui maksimum, minimum, dan penambahan semua item array. Berikut cuplikan kodenya:

numpy_arr = np.array([(1, 2, 3, 4, 5)])
cetak(numpy_arr.maks())
cetak(numpy_arr.menit())
cetak(numpy_arr.jumlah())
cetak(numpy_arr.berarti())
cetak (np.kuadrat(numpy_arr))
cetak (np.std(numpy_arr))

Dalam 2 operasi terakhir di atas, kami juga menghitung akar kuadrat dan standar deviasi dari setiap item array. Cuplikan di atas akan memberikan output berikut:

5
1
15
3.0
[[1.   1.41421356   1.73205081   2.   2.23606798]]
1.4142135623730951

Mengonversi daftar Python ke array NumPy

Bahkan jika Anda telah menggunakan daftar Python di program yang ada dan Anda tidak ingin mengubah semua kode itu tetapi masih ingin menggunakan array NumPy dalam kode baru Anda, ada baiknya untuk mengetahui bahwa kita dapat dengan mudah mengonversi Python daftar ke array NumPy. Berikut ini contohnya:

# Buat 2 daftar baru tinggi dan berat
tinggi = [2.37,  2.87, 1.52, 1.51, 1.70, 2.05]
berat = [91.65, 97.52, 68.25, 88.98, 86.18, 88.45]
# Buat 2 array numpy dari tinggi dan berat
np_tinggi = np.susunan (tinggi)
np_berat = np.susunan (berat)

Hanya untuk memeriksa, sekarang kita dapat mencetak jenis salah satu variabel:

cetak(ketik(np_height))

Dan ini akan menunjukkan:

Kita sekarang dapat melakukan operasi matematika pada semua item sekaligus. Mari kita lihat bagaimana kita dapat menghitung BMI orang-orang:

# Hitung bmi
bmi = np_weight / np_height ** 2
# Cetak hasilnya
cetak (bmi)

Ini akan menunjukkan BMI semua orang yang dihitung berdasarkan elemen:

[16.31682957 11.8394056  29.54033934 39.02460418 29.8200692  21.04699584]

Bukankah itu mudah dan berguna?? Kami bahkan dapat memfilter data dengan mudah dengan kondisi sebagai pengganti indeks di dalam tanda kurung siku:

bmi[bmi > 25]

Ini akan memberikan:

larik([29.54033934, 39.02460418, 29.8200692 ])

Buat urutan & pengulangan acak dengan NumPy

Dengan banyak fitur yang ada di NumPy untuk membuat data acak dan mengaturnya dalam bentuk yang diperlukan, array NumPy sering digunakan dalam menghasilkan kumpulan data pengujian di banyak tempat, termasuk keperluan debugging dan pengujian. Misalnya, jika Anda ingin membuat array dari 0 hingga n, kita dapat menggunakan arange (perhatikan single 'r') seperti cuplikan yang diberikan:

cetak (np.rentang(5))

Ini akan mengembalikan output sebagai:

[0 1 2 3 4]

Fungsi yang sama dapat digunakan untuk memberikan nilai yang lebih rendah sehingga array dimulai dari angka lain selain 0:

cetak (np.rentang(4, 12))

Ini akan mengembalikan output sebagai:

[ 4  5  6  7  8  9 10 11]

Angka-angka tidak perlu terus menerus, mereka dapat melewati langkah perbaikan seperti:

cetak (np.rentang(4, 14, 2))

Ini akan mengembalikan output sebagai:

[ 4 6 8 10 12]

Kita juga bisa mendapatkan angka dalam urutan menurun dengan nilai lompatan negatif:

cetak (np.rentang(14, 4, -1))

Ini akan mengembalikan output sebagai:

[14 13 12 11 10 9 8 7 6 5]

Dimungkinkan untuk mendanai n angka antara x dan y dengan ruang yang sama dengan metode linspace, berikut adalah cuplikan kode untuk hal yang sama:

np.linspace(start=10, stop=70, num=10, dtype=int)

Ini akan mengembalikan output sebagai:

array([10, 16, 23, 30, 36, 43, 50, 56, 63, 70])

Harap dicatat bahwa item keluaran tidak diberi jarak yang sama. NumPy melakukan yang terbaik untuk melakukannya tetapi Anda tidak perlu mengandalkannya karena ini melakukan pembulatan.

Akhirnya, mari kita lihat bagaimana kita dapat menghasilkan satu set urutan acak dengan NumPy yang merupakan salah satu fungsi yang paling sering digunakan untuk tujuan pengujian. Kami akan memberikan rentang angka ke NumPy yang akan digunakan sebagai titik awal dan akhir untuk angka acak:

cetak (np.acak.randint(0, 10, ukuran=[2,2]))

Cuplikan di atas membuat array NumPy 2 kali 2 dimensi yang akan berisi angka acak antara 0 dan 10. Berikut adalah contoh keluarannya:

[[0 4]
[8 3]]

Harap dicatat karena angkanya acak, output dapat berbeda bahkan antara 2 putaran pada mesin yang sama.

Kesimpulan

Dalam pelajaran ini, kita melihat berbagai aspek dari perpustakaan komputasi ini yang dapat kita gunakan dengan Python untuk menghitung masalah matematika sederhana maupun kompleks yang dapat muncul dalam berbagai kasus penggunaan. NumPy adalah salah satu perpustakaan komputasi terpenting dalam hal rekayasa data dan menghitung data numerik, jelas merupakan keterampilan yang perlu kita miliki.

Silakan bagikan umpan balik Anda tentang pelajaran di Twitter dengan @sbmaggarwal dan @LinuxHint.

SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...
0 A.D. tutorial
Dari sekian banyak game strategi di luar sana, 0 A.D. berhasil menonjol sebagai judul yang komprehensif dan permainan taktis yang sangat dalam meskipu...