Cara menggunakan NP.STD pada Python

Numpy Array¶

Membuat Array dari Python List¶

In [2]:

# integer array:
np.array([1, 2, 3, 4])

Tidak seperti Python lists, Numpy array elemen-elemennya bertipe data sama. Apabila tipe data nya tidak sama maka Numpy akan melakuakan upcast (menyamakan ke tipe data yang lebih tinggi) misalnya integer akan upcast ke float:

In [3]:

np.array([3.14, 5, 2, 8])

Out[3]:

array([3.14, 5.  , 2.  , 8.  ])

Membuat Array dari Awal¶

Untuk membuat array yang besar, lebih efesien membuat array dari awal dengan menggunakan routine yang sudah terdapat di Numpy. Berikut beberapa contohnya:

In [4]:

# Membuat sebuah array bertipe integer dengan panjang 10 dan berisi semua nol
np.zeros(10, dtype=int)

Out[4]:

array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

In [5]:

# Membuat array berukuran 3x5 float dan berisi 1 semua
np.ones((3,5), dtype=int)

Out[5]:

array([[1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1],
       [1, 1, 1, 1, 1]])

In [6]:

# Membuat 3x5 array yang berisi 3.14 semua
np.full((3,5),3.14)

Out[6]:

array([[3.14, 3.14, 3.14, 3.14, 3.14],
       [3.14, 3.14, 3.14, 3.14, 3.14],
       [3.14, 3.14, 3.14, 3.14, 3.14]])

In [7]:

# Membuat array berurutan dimulai dari 0 dan berakhir pada 20 dan bertambah 2
np.arange(0,20,2)

Out[7]:

array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

In [8]:

# Membuat array dengan 5 nilai yang berjarak diatara 0 dan 1
np.linspace(0,1,5)

Out[8]:

array([0.  , 0.25, 0.5 , 0.75, 1.  ])

In [9]:

# Membuat 3x3 array random
# nilai random diantara 0 dan 1
np.random.random((3,3))

Out[9]:

array([[0.05681408, 0.33232413, 0.71184618],
       [0.60768214, 0.28107309, 0.7500548 ],
       [0.3864422 , 0.45528181, 0.05189743]])

In [10]:

# Membuat 3x3 array dengan random bertipe integer pada interval 0,10
np.random.randint(0,10, (3,3))

Out[10]:

array([[3, 9, 5],
       [7, 2, 6],
       [5, 7, 6]])

In [11]:

# Membuat 3x3 matriks identitas
np.eye(3)

Out[11]:

array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

Array Indexing¶

Jika kamu sudah terbiasa dengan indexing pada Python standard, indexing di Numpy mirip seperti itu.

In [12]:

# Membuat array random
np.random.seed(0)
x1 = np.random.randint(10, size=6) # array satu dimensi
x2 = np.random.randint(10, size=(3,4)) # array dua dimensi
x3 = np.random.randint(10, size=(3,4,5)) # array tiga dimensi

Out[13]:

array([5, 0, 3, 3, 7, 9])

In [14]:

# mengakses nilai 5 yang berada di index-0
x1[0]

In [15]:

# mengakses nilai 0 pada index-1
x1[1]

Untuk index dari belakang, menggunakan tanda negatif(-)

In [16]:

# Mengakses nilai terakhir pada array yaitu 9
x1[-1]

In [17]:

# Mengakses nilai sebelum nilai terakhir
x1[-2]

Pada array multidemensi, kita dapat mengakses nilai tersebut dengan memberikan tanda koma (,)

Out[18]:

array([[3, 5, 2, 4],
       [7, 6, 8, 8],
       [1, 6, 7, 7]])

In [20]:

# Mengakses index baris 2 pada kolom terakhir
x2[2,-1]

Numpy Array Attributes¶

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

In [22]:

print("x2 ndim: ", x2.ndim) # Jumlah dimensi array
print("x2 shape: ", x2.shape) # Bentuk array
print("x2 size: ", x2.ndim) # total ukuran aaray

x2 ndim:  2
x2 shape:  (3, 4)
x2 size:  2

Array Slicing:Accessing Subarray¶

Mengakses subarray dengan menggunakan tanda (:) dengan cara x[start:stop:step]

Subarray Satu Dimensi¶

Out[23]:

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [24]:

# Mengakses lima elemen pertama
x[:5]

In [25]:

# Mengakses elemen setalh index 5
x[5:]

In [26]:

# middle subarray, dimulai dari index 4 sampai index 6
x[4:7]
# index stop nya 7 jadi index stop itu +1 dari index terakhir yang ingin kita ambil

In [27]:

# Dimulai dari index 1 hingga terakhir, dengan step(melangkahi) 2
x[1::2]

Subarray Multidimensi¶

Out[28]:

array([[3, 5, 2, 4],
       [7, 6, 8, 8],
       [1, 6, 7, 7]])

In [29]:

# Mengakses 2 baris pertama dan 3 kolom pertama
x2[:2,:3]

Out[29]:

array([[3, 5, 2],
       [7, 6, 8]])

Subarray as no-copy views¶

Penting untuk diketaui slicing array hanya mengambil tampilan dari yang asli, sehingga array yang asli dapat dirubah nilainya dengan menggunakan variabel dari array sclicing nya. Berikut ini contohnya

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

In [31]:

# membuat 2x2 subarray x2
x2_sub = x2[:2,:2]
print(x2_sub)

In [32]:

# Kita akan merubah nilai dari x2_sub pada index 0,0
x2_sub[0,0] = 99
print(x2_sub)

In [33]:

# Dan coba lihat x2, nilainya juga akan berubah
print(x2)

[[99  5  2  4]
 [ 7  6  8  8]
 [ 1  6  7  7]]

Membuat Copy dari Array¶

In [34]:

x2_sub_copy = x2[:2,:2].copy()
print(x2_sub_copy)

In [35]:

# Lalu kita ubah nilainya
x2_sub_copy[0,0] = 42
print(x2_sub_copy)

In [36]:

# Lihat x2 yang asli, nilainya tidak berubah
print(x2)

[[99  5  2  4]
 [ 7  6  8  8]
 [ 1  6  7  7]]

NP Linspace untuk apa?

Linspace digunakan untuk membuat satu set angka dengna spasi merata dalam interval yang ditentukan. Parameter yang diperlukan dalam linspace adalah start (nilai awal dari urutan), dan end (nilai akhir urutan kecuali titik akhir diataur ke false).

NP array untuk apa?

Numpy array merupakan salah satu library yang disediakan oleh Python dalam memudahkan operasi komputasi tipe data numerik. Numpy bisa digunakan sebagai pengganti matlab ketika digunakan dengan Scipy dan matplotlib.

Apa perbedaan Pandas dan NumPy?

Ternyata numpy menjadi salah satu library yang digunakan oleh library lain dalam proses analisa data, seperti Scikit-Learn. Sedangkan Pandas digunakan untuk memanipulasi data, seperti proses membaca data dari berbagai format (xlsx., csv., txt., dan lain sebagainya).

Apa pengertian dari Matplotlib?

Matplotlib sendiri adalah suatu library atau package yang paling populer di bahasa python untuk melakukan visualisasi data seperti membuat plot grafik untuk satu sumbu atau lebih. Setiap sumbu memiliki sumbu horizontal (x) dan sumbu vertikal (y).