<jupyter_start><jupyter_text>Pengantar NumpyNumpy library (module) digunakan hampir semua komputasi numerik yang menggunakan Python. Numpy merupakan library yang menyediakan komputasi performa tinggi untuk komputasi data struktur vector, matrix, atau dimensi lainnya yang lebih tinggi di python. hal ini dikarenakan numpy diimplementasikan menggunakan bahasa C dan Fortran.<jupyter_code>import numpy as np<jupyter_output><empty_output><jupyter_text>Di library Numpy, array merupakan terminologi yang dipakai dalam menyebut Vektor, Matrik, atau dimensi lainnya   Membuat Numpy arrayTerdapat beberapa cara untuk menginisialisasi numpy arrays, seperti:- menggunakan Python list or tuples- menggunakan fungsi yang didedikasikan untuk men-generete numpy array, seperti arange, linspace, dll- mendapatakan data dari sebuah file  List Python => Numpy arraycontoh membuat sebuah vektor ataupun matrik dari Python List.<jupyter_code># vektor = parameter masukan untuk fungsi numpy array adalah Python list
vektor = np.array([1,2,3,4])
vektor
# matrik: parameter masukan untuk fungsi numpy array adalah nested Python list
matriks = np.array([[1, 2], [3, 4]])
matriks
type(vektor), type(matriks)
vektor.shape
matriks.shape
vektor.size
matriks.size
np.shape(vektor)
np.shape(matriks)
np.size(vektor)
np.size(matriks)<jupyter_output><empty_output><jupyter_text>terlihat sama kan? numpy array vs Python list. Kenapa tidak menggunakan Python list untuk komputsi daripada membuat type array baru menggunakan numpy?Alasannya:- Python list sangat umum. nilai dari list dapat berupa object apapun. Python list merupakan dynamically typed. tidak support fungsi matematika seperti perkalian matriks, pengimplementasian hal tersebut untuk Python list sangat tidak efisien karena masalah dynamic type- Sedangkan numpy array merupakan statically typed dan homogen sehingga menjadikan numpy array memory efisien. type dari tiap element ditentukan saat numpy array dibuat. Dengan bertipe static type, implementasi untuk fungsi matematika seperti perkalian matriks dalam numpy array dapat dilakukan dengan cepat dikarenakan di compile dalam bahasa C dan Fortran.<jupyter_code>matriks.dtype
vektor.dtype
matriks[0,0] ="tes"<jupyter_output><empty_output><jupyter_text>cara mendefinisikan type data dari numpy array<jupyter_code>matrik = np.array([[1, 2], [3, 4]], dtype=complex)
matrik<jupyter_output><empty_output><jupyter_text>function => numpy array<jupyter_code>#parameter (awal, akhir, selisi)
x = np.arange(0, 10, 1)
x
x= np.linspace(2, 3, 5)
x
# angka random dalam rentang[0,1] baris 5 kolomo 4
a =np.random.rand(5,4)
a
# matrik diagonal
a =np.diag([1,2,3])
a
a = np.zeros((3,3))
a
a = np.ones((3,3))
a<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.07380073800738007, 'fraction_numerical': 0.012546125461254613, 'mean_word_length': 6.636619718309859, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '61382', 'license': 'MIT', 'n_tokens_mistral': 1016, 'n_tokens_neox': 987, 'n_words': 303, 'path': 'numpy.ipynb', 'repo_name': 'ec2ainun/notebooks', 'size': '2710'}