Cara menggunakan NP.SHAPE pada Python


Shape of an Array

The shape of an array is the number of elements in each dimension.


Get the Shape of an Array

NumPy arrays have an attribute called shape that returns a tuple with each index having the number of corresponding elements.

Example

Print the shape of a 2-D array:

import numpy as np

arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

print(arr.shape)

Try it Yourself »

The example above returns (2, 4), which means that the array has 2 dimensions, where the first dimension has 2 elements and the second has 4.

Example

Create an array with 5 dimensions using ndmin using a vector with values 1,2,3,4 and verify that last dimension has value 4:

import numpy as np

arr = np.array([1, 2, 3, 4], ndmin=5)

print(arr)
print('shape of array :', arr.shape)

Try it Yourself »

What does the shape tuple represent?

Integers at every index tells about the number of elements the corresponding dimension has.

In the example above at index-4 we have value 4, so we can say that 5th ( 4 + 1 th) dimension has 4 elements.


Test Yourself With Exercises

Exercise:

Use the correct NumPy syntax to check the shape of an array.

arr = np.array([1, 2, 3, 4, 5])

print(arr.)

Start the Exercise


Modul numpy Python memiliki fungsi bentuk, yang membantu kita menemukan bentuk atau ukuran array atau matriks. Terlepas dari fungsi bentuk ini, modul numpy Python memiliki fungsi membentuk kembali, mengubah ukuran, transpose, swapaxes, flatten, ravel, dan squeeze untuk mengubah matriks array ke bentuk yang diperlukan.

Table of Contents

  • Python numpy Array membentuk kembali
  • Ubah ukuran Array numpy Python
  • transpos numpy
  • Transpose Tiga Dimensi
  • Python numpy Array swapax
  • Python numpy Array meratakan
  • Python Numpy Array ravel
  • Peras Python Array
  • Apa itu array di Python?
  • Apa kegunaan NumPy pada python?
  • Apa kegunaan import NumPy?

  • Bentuk Array numpy Python
  • Python numpy Array membentuk kembali
  • Ubah ukuran Array numpy Python
  • transpos numpy
    • Transpose Tiga Dimensi
  • Python numpy Array swapax
  • Python numpy Array meratakan
  • Python Numpy Array ravel
  • Peras Python Array

Modul numpy memiliki satu properti penting yang disebut bentuk. Properti bentuk array Python Numpy adalah untuk mendapatkan atau menemukan bentuknya.

import numpy as np
 
arr = np.array([10, 20, 30, 40, 50, 60, 70, 80])
print(arr)
 
print(np.shape(arr))
[10 20 30 40 50 60 70 80]
(8,)

Mari saya tunjukkan satu lagi contoh bentuk array numpy Python. Di sini, kami menggunakan array dengan ukuran berbeda dan kemudian menemukan bentuknya menggunakan properti shape.

import numpy as np
 
x = np.array([[10, 20, 30], [40, 50, 60]])
print(x)
print('x = ', np.shape(x))
print()
 
arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
print(arr)
print('arr=", np.shape(arr))
 
arr1 = np.random.randint(5, 50, size = (5, 8))
print("n-----Two Dimensional Random----')
print(arr1)
print('arr1 = ', np.shape(arr1))
 
arr2 = np.array([[[ 7, 24, 24, 22], [24, 10, 16,  2], [ 1, 16, 7, 16]],
                 [[22, 23, 12, 39], [16, 30, 37, 15],[16, 17,  3, 19]]])
print('n-----Three Dimensional----')
print(arr2)
print('arr2 = ', np.shape(arr2))
[[10 20 30]
 [40 50 60]]
x =  (2, 3)

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

-----Two Dimensional Random----
[[15 41 15 28 34 39 29 38]
 [12 39 22 37 32 15 40 17]
 [48 18 23 41 43 21 10 12]
 [33 49  9 18 31 38 24 28]
 [10 46 46 10 41 37 40 21]]
arr1 =  (5, 8)

-----Three Dimensional----
[[[ 7 24 24 22]
  [24 10 16  2]
  [ 1 16  7 16]]

 [[22 23 12 39]
  [16 30 37 15]
  [16 17  3 19]]]
arr2 =  (2, 3, 4)

Python numpy Array membentuk kembali

Fungsi reshape Numpy menerima array sebagai argumen pertama dan bentuk atau ukuran matriks sebagai argumen kedua.

import numpy as np
 
arr = np.array([[10, 20, 30], [40, 50, 60]])
print(arr)
print('arr=", np.shape(arr))
 
print("n---New---')
new_arr = np.reshape(arr, (6,))
print(new_arr)
print('new_arr=", np.shape(new_arr))

bentuk ulang fungsi output

[[10 20 30]
 [40 50 60]]
arr =  (2, 3)

---New---
[10 20 30 40 50 60]
new_arr =  (6,)

Ini adalah contoh lain dari fungsi reshape. Di sini, kami menggunakan array satu dimensi dan mengubahnya menjadi dimensi yang berbeda. Untuk referensi Anda, kami menggunakan fungsi bentuk array Python Numpy untuk mengembalikan bentuk setelah membentuknya kembali.

import numpy as np
 
arr = np.array([10, 20, 30, 40, 50, 60, 70, 80])
print(arr)
print(np.shape(arr))
 
print("n---New ---')
new_arr = np.reshape(arr, (2,4))
print(new_arr)
print(np.shape(new_arr))
 
print('n---New ---')
new_arr1 = np.reshape(arr, (4, 2))
print(new_arr1)
print(np.shape(new_arr1))
 
print('n---New ---')
new_arr2 = np.reshape(arr, (8,1))
print(new_arr2)
print(np.shape(new_arr2))
[10 20 30 40 50 60 70 80]
(8,)

---New ---
[[10 20 30 40]
 [50 60 70 80]]
(2, 4)

---New ---
[[10 20]
 [30 40]
 [50 60]
 [70 80]]
(4, 2)

---New ---
[[10]
 [20]
 [30]
 [40]
 [50]
 [60]
 [70]
 [80]]
(8, 1)

Jika Anda tidak tahu atau tidak ingin menggunakan nilai kedua dari bentuk, maka Anda dapat menetapkan -1. Fungsi reshape array numpy secara otomatis memilih ukuran dan menggantinya dengan -1.

import numpy as np
 
arr = np.array([[10, 20, 30, 40, 50, 60, 70, 80]])
print(arr)
print('Array Shape=", np.shape(arr))
 
print("n---New ---')
new_arr = np.reshape(arr, (2,-1))
print(new_arr)
print(np.shape(new_arr))
 
print('n---New ---')
new_arr1 = np.reshape(arr, (4, -1))
print(new_arr1)
print(np.shape(new_arr1))
[[10 20 30 40 50 60 70 80]]
Array Shape =  (1, 8)

---New ---
[[10 20 30 40]
 [50 60 70 80]]
(2, 4)

---New ---
[[10 20]
 [30 40]
 [50 60]
 [70 80]]
(4, 2)

Ubah ukuran Array numpy Python

Fungsi pengubahan ukuran Python berguna untuk mengubah ukuran array numpy yang ada ke bentuk yang diinginkan. Fungsi ini menerima array sebagai argumen pertama dan ukuran bentuk yang diinginkan sebagai argumen kedua. Jika Anda menentukan bentuk yang diinginkan lebih besar dari aslinya, fungsi pengubahan ukuran array Numpy mereplikasi nilai dalam array dasar untuk membuat array besar.

import numpy as np
 
arr = np.array([1, 2, 3])
print(arr)
 
print('n---New ---')
new_arr = np.resize(arr, (4, 3))
print(new_arr)
 
print('n---New ---')
new_arr1 = np.resize(arr, (9, 8))
print(new_arr1)

fungsi ubah ukuran untuk mengubah output bentuk

[1 2 3]

---New ---
[[1 2 3]
 [1 2 3]
 [1 2 3]
 [1 2 3]]

---New ---
[[1 2 3 1 2 3 1 2]
 [3 1 2 3 1 2 3 1]
 [2 3 1 2 3 1 2 3]
 [1 2 3 1 2 3 1 2]
 [3 1 2 3 1 2 3 1]
 [2 3 1 2 3 1 2 3]
 [1 2 3 1 2 3 1 2]
 [3 1 2 3 1 2 3 1]
 [2 3 1 2 3 1 2 3]]

Mari kita lihat apa yang terjadi ketika kita mengubah ukuran array Python ke ukuran yang lebih kecil.

import numpy as np
 
arr = np.array([1, 2, 3, 4, 5])
print('---Original Array---')
print(arr)
 
print('n---New Array---')
new_arr = np.resize(arr, (1, 3))
print(new_arr)
 
print('n---New Array---')
new_arr1 = np.resize(arr, (4, 1))
print(new_arr1)

transpos numpy

Fungsi transpos membantu Anda untuk mentranspos matriks atau 2D yang diberikan.

import numpy as np
 
arr = np.random.randint(5, 50, size = (5, 8))
print('n-----Two Dimensional Random ----')
print(arr)
 
print('n-----Transposed Two Dimensional ----')
print(np.transpose(arr))

Ubah bentuk numpy menggunakan output fungsi transpos

-----Two Dimensional Random----
[[11 28 30 26  8 39 26 46]
 [16 22 27  9 25 16 17 10]
 [20 42 14 36 31 22 43 10]
 [41 35 25 13 36 33 18 23]
 [21 46 42 39 48  9 21 44]]

-----Transposed Two Dimensional----
[[11 16 20 41 21]
 [28 22 42 35 46]
 [30 27 14 25 42]
 [26  9 36 13 39]
 [ 8 25 31 36 48]
 [39 16 22 33  9]
 [26 17 43 18 21]
 [46 10 10 23 44]]

Transpose Tiga Dimensi

Biarkan saya menggunakan fungsi transpos ini untuk mentranspos 3D

import numpy as np
 
arr2 = np.random.randint(1, 20, size = (2, 3, 4))
print('n-----Three Dimensional Random ----')
print(arr2)

print('n-----Transposed Three Dimensional ----')
print(np.transpose(arr2))

Mengubah bentuk dengan mentranspos keluaran tiga dimensi

-----Three Dimensional Random ----
[[[ 5 11  8  7]
  [17 14 12 14]
  [19 16  1 17]]

 [[ 1 13 12 10]
  [18  3  5 18]
  [ 6  1 12 10]]]

-----Transposed Three Dimensional ----
[[[ 5  1]
  [17 18]
  [19  6]]

 [[11 13]
  [14  3]
  [16  1]]

 [[ 8 12]
  [12  5]
  [ 1 12]]

 [[ 7 10]
  [14 18]
  [17 10]]]

Python numpy Array swapax

Fungsi swapaxes adalah untuk menukar dua sumbu array yang diberikan. Ia menerima tiga argumen – nama, sumbu_pertama, dan sumbu_kedua. Selanjutnya, fungsi numpy swapaxes menukar first_axis dan second_axis.

import numpy as np
 
arr1 = np.array([[10, 20, 30, 40]])
print(arr1)
print('swapaxes Result of arr1')
print(np.swapaxes(arr1, 0, 1))
 
arr2 = np.array([[10, 20, 30], [40, 50, 60]])
print(arr2)
print('swapaxes Result of arr2')
print(np.swapaxes(arr2, 0, 1))
 
arr3 = np.array([[[10, 20], [30, 40], [50, 60]]])
print('swapaxes Result of arr3')
print(np.swapaxes(arr3, 0, 1))
 
print('swapaxes Result of arr3 - 0, 2')
print(np.swapaxes(arr3, 0, 2))
 
print('swapaxes Result of arr3 - 2, 1')
print(np.swapaxes(arr3, 2, 1))

keluaran bentuk swapax numpy

[[10 20 30 40]]
swapaxes Result of arr1
[[10]
 [20]
 [30]
 [40]]
[[10 20 30]
 [40 50 60]]
swapaxes Result of arr2
[[10 40]
 [20 50]
 [30 60]]
swapaxes Result of arr3
[[[10 20]]

 [[30 40]]

 [[50 60]]]
swapaxes Result of arr3 - 0, 2
[[[10]
  [30]
  [50]]

 [[20]
  [40]
  [60]]]
swapaxes Result of arr3 - 2, 1
[[[10 30 50]
  [20 40 60]]]

Kali ini, kami menggunakan fungsi Python swapaxes ini pada array acak tiga dimensi yang dihasilkan oleh fungsi randint.

import numpy as np
 
arr3 = np.random.randint(1, 40, size = (2, 3, 4))
print(arr3)
print('swapaxes Result of arr3, 0, 1')
print(np.swapaxes(arr3, 0, 1))
 
print('swapaxes Result of arr3, 0, 2')
print(np.swapaxes(arr3, 0, 2))
 
print('swapaxes Result of arr3, 2, 1')
print(np.swapaxes(arr3, 2, 1))

Python Numpy swapaxes berfungsi untuk membentuk output

[[[22 38 11 37]
  [33 33 37 30]
  [37 29 17 13]]

 [[26 17  8 35]
  [38 28 28 32]
  [ 7 38 15 26]]]
swapaxes Result of arr3, 0, 1
[[[22 38 11 37]
  [26 17  8 35]]

 [[33 33 37 30]
  [38 28 28 32]]

 [[37 29 17 13]
  [ 7 38 15 26]]]
swapaxes Result of arr3, 0, 2
[[[22 26]
  [33 38]
  [37  7]]

 [[38 17]
  [33 28]
  [29 38]]

 [[11  8]
  [37 28]
  [17 15]]

 [[37 35]
  [30 32]
  [13 26]]]
swapaxes Result of arr3, 2, 1
[[[22 33 37]
  [38 33 29]
  [11 37 17]
  [37 30 13]]

 [[26 38  7]
  [17 28 38]
  [ 8 28 15]
  [35 32 26]]]

Python numpy Array meratakan

Fungsi perataan Python menciutkan larik yang diberikan menjadi satu dimensi. Fungsi perataan array Python Numpy ini menerima parameter urutan untuk memutuskan urutan item perataan.

order = {C, F, A, K} – Anda dapat menggunakan salah satunya, atau dianggap C karena merupakan default. C berarti item akan diratakan dalam urutan baris-utama. F berarti gaya Fortran atau urutan utama kolom. Jika array Fortran bersebelahan, A mendatar dalam urutan utama kolom, sebaliknya, urutan baris-utama. K merata dalam urutan elemen yang terjadi di memori.

import numpy as np
 
arr = np.array([[1, 2, 3], [4, 5, 6]])
print('flatten Result of arr Order C = ', arr.flatten())
print('flatten Result of arr Order F = ', arr.flatten('F'))
print('flatten Result of arr Order A = ', arr.flatten('A'))
print('flatten Result of arr Order K = ', arr.flatten('K'))
 
arr1 = np.array([[10, 20], [30, 40], [50, 60], [70, 80]])
print('nflatten Result of arr1 Order C')
print(arr1.flatten())
 
print('nflatten Result of arr1 = F')
print(arr1.flatten('F'))
 
print('nflatten Result of arr1 = A')
print(arr1.flatten('A'))
 
print('nflatten Result of arr1  = K')
print(arr1.flatten('K'))

output menggunakan fungsi perataan numpy

flatten Result of arr Order C =  [1 2 3 4 5 6]
flatten Result of arr Order F =  [1 4 2 5 3 6]
flatten Result of arr Order A =  [1 2 3 4 5 6]
flatten Result of arr Order K =  [1 2 3 4 5 6]

flatten Result of arr1 Order C
[10 20 30 40 50 60 70 80]

flatten Result of arr1 = F
[10 30 50 70 20 40 60 80]

flatten Result of arr1 = A
[10 20 30 40 50 60 70 80]

flatten Result of arr1 = K
[10 20 30 40 50 60 70 80]

Kali ini, kami membuat array integer tiga dimensi acak menggunakan fungsi randint. Selanjutnya, kami menggunakan fungsi perataan Python Numpy ini untuk meratakan ke satu dimensi.

import numpy as np
 
arr2 = np.random.randint(1, 40, size = (2, 3, 4))
print(arr2)
print('flatten Result of arr2')
print(arr2.flatten())
 
print('nflatten Result of arr2 = F')
print(arr2.flatten('F'))
 
print('nflatten Result of arr2 = A')
print(arr2.flatten('A'))
 
print('nflatten Result of arr2 = K')
print(arr2.flatten('K'))

Fungsi perataan numpy untuk meratakan atau mengubah output bentuk

[[[38 14 31 31]
  [14 16 34 21]
  [ 6 11 37 33]]

 [[11 17  7 33]
  [31 34 30 28]
  [36 14 39  8]]]
flatten Result of arr2
[38 14 31 31 14 16 34 21  6 11 37 33 11 17  7 33 31 34 30 28 36 14 39  8]

flatten Result of arr2 = F
[38 11 14 31  6 36 14 17 16 34 11 14 31  7 34 30 37 39 31 33 21 28 33  8]

flatten Result of arr2 = A
[38 14 31 31 14 16 34 21  6 11 37 33 11 17  7 33 31 34 30 28 36 14 39  8]

flatten Result of arr2 = K
[38 14 31 31 14 16 34 21  6 11 37 33 11 17  7 33 31 34 30 28 36 14 39  8]

Python Numpy Array ravel

Fungsi ravel Python mengembalikan array satu dimensi yang diratakan bersebelahan. Sintaks dari fungsi ravel Python Numpy ini adalah

numpy.ravel(name, order = {C, F, A, K})

Fungsi ravel array Python ini menerima parameter urutan untuk memutuskan urutan item perataan. C berarti indeks item dalam urutan baris-utama. F berarti indeks item dalam gaya Fortran atau urutan kolom utama. Jika Fortran bersebelahan, A membaca indeks dalam urutan utama kolom jika tidak, urutan baris-utama. K membaca indeks dalam urutan elemen yang terjadi di memori.

import numpy as np
 
arr = np.array([[1, 2, 3], [4, 5, 6]])
print('arr ravel Result of Order C = ', np.ravel(arr))
print('arr ravel Result of Order F = ', np.ravel(arr, order="F"))
print('arr ravel Result of Order A = ', np.ravel(arr, order="A"))
print('arr ravel Result of Order K = ', np.ravel(arr, order="K"))
 
arr1 = np.array([[11, 20], [33, 40], [55, 60], [77, 80]])
print('narr1 ravel Result of Order C = ', np.ravel(arr1))
print('arr1 ravel Result of Order F = ', np.ravel(arr1, order="F"))
print('arr1 ravel Result of Order A = ', np.ravel(arr1, order="A"))
print('arr1 ravel Result of Order K = ', np.ravel(arr1, order="K"))

Fungsi ravel numpy untuk membentuk output array

arr ravel Result of Order C =  [1 2 3 4 5 6]
arr ravel Result of Order F =  [1 4 2 5 3 6]
arr ravel Result of Order A =  [1 2 3 4 5 6]
arr ravel Result of Order K =  [1 2 3 4 5 6]

arr1 ravel Result of Order C =  [11 20 33 40 55 60 77 80]
arr1 ravel Result of Order F =  [11 33 55 77 20 40 60 80]
arr1 ravel Result of Order A =  [11 20 33 40 55 60 77 80]
arr1 ravel Result of Order K =  [11 20 33 40 55 60 77 80]

Dalam contoh ini, kami mendeklarasikan bilangan bulat tiga dimensi dari bilangan acak menggunakan fungsi randint Python. Selanjutnya, kami menggunakan fungsi ravel Numpy ini untuk meratakan yang acak ini ke dimensi tunggal yang berdekatan.

import numpy as np
 
arr = np.random.randint(1, 40, size = (2, 3, 4))
print(arr)
 
print('narr ravel Result of Order C')
print(np.ravel(arr))
 
print('arr ravel Result of Order F')
print(np.ravel(arr, order="F"))
 
print('arr ravel Result of Order A')
print(np.ravel(arr, order="A"))
 
print('arr ravel Result of Order K')
print(np.ravel(arr, order="K"))
 
print('nTransposed arr ravel Result of Order C')
print(np.ravel(arr.T))

Output fungsi ravel numpy

[[[ 7  9 22 11]
  [ 4  8 11 35]
  [ 3 34 28  5]]

 [[28 18 18 15]
  [14 37  8 23]
  [35 35 13 23]]]

arr ravel Result of Order C
[ 7  9 22 11  4  8 11 35  3 34 28  5 28 18 18 15 14 37  8 23 35 35 13 23]
arr ravel Result of Order F
[ 7 28  4 14  3 35  9 18  8 37 34 35 22 18 11  8 28 13 11 15 35 23  5 23]
arr ravel Result of Order A
[ 7  9 22 11  4  8 11 35  3 34 28  5 28 18 18 15 14 37  8 23 35 35 13 23]
arr ravel Result of Order K
[ 7  9 22 11  4  8 11 35  3 34 28  5 28 18 18 15 14 37  8 23 35 35 13 23]

Transposed arr ravel Result of Order C
[ 7 28  4 14  3 35  9 18  8 37 34 35 22 18 11  8 28 13 11 15 35 23  5 23]

Peras Python Array

Fungsi pemerasan menghapus entri satu dimensi dari bentuk yang diberikan. Sintaks dari fungsi pemerasan Numpy ini adalah

numpy.squeeze(array_name, axis = {None, 0, 1, 2 ..}).
import numpy as np
 
arr = np.arange(12).reshape(1, 3, 4)
print(arr)
print('narr squeeze Result')
 
a = np.squeeze(arr)
print(a)
print('a=", arr.shape, a.shape)
 
b = np.squeeze(arr, axis = 0)
print(b)
print("b = ', arr.shape, b.shape)
 
arr1 = np.array([[[[11, 20], [33, 40], [55, 60], [77, 80]]]])
x = np.squeeze(arr1)
print(x)
print('x = ', arr1.shape, x.shape)
 
y = np.squeeze(arr1, axis = 1)
print(y)
print('y = ', arr1.shape, y.shape)

Output fungsi pemerasan numpy

[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]]

arr squeeze Result
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
a =  (1, 3, 4) (3, 4)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
b =  (1, 3, 4) (3, 4)
[[11 20]
 [33 40]
 [55 60]
 [77 80]]
x =  (1, 1, 4, 2) (4, 2)
[[[11 20]
  [33 40]
  [55 60]
  [77 80]]]
y =  (1, 1, 4, 2) (1, 4, 2)

Apa itu array di Python?

Mengenal array pada Python Array adalah sebuah struktur data yang di dalamnya termuat sejumlah elemen data dengan tipe yang sama. Python, sebuah bahasa pemrograman, memiliki jenis struktur data yang satu ini.

Apa kegunaan NumPy pada python?

Numpy singkatan dari Numerik Python adalah Library Python yang digunakan untuk membuat objek kelas array tunggal dan multidimensi. Objek array di NumPy disebut ndarray, yang berguna menyediakan banyak fungsi pendukung yang membuat bekerja dengan ndarray sangat mudah.

Apa kegunaan import NumPy?

Numpy berfungsi memudahkan operasi komputasi tipe data numerik seperti penjumlahan, pengurangan, perkalian, pangkat, dan operasi lainnya yang bisa diterapkan pada vektor atau matriks.

Apa fungsi shape pada python?

Pada fungsi shape menghasilkan sebuah tuple yang berisikan panjang sebuah array pada tiap dimensi.

Library NumPy untuk apa?

NumPy (Numerical Python) adalah library python yang digunakan untuk bekerja dengan array dan juga memiliki fungsi yang bekerja dalam domain aljabar linier, transformasi fourier, dan matriks.

Apa yang dimaksud library python?

Library pada Python merupakan gabungan dari sekumpulan package dan module dengan fungsionalitas yang sama dengan tujuan untuk memudahkan kalian dalam membuat suatu aplikasi, tanpa harus menulis banyak kode. Library pada Python merupakan sebutan untuk kode program tambahan yang digunakan dalam kebutuhan tertentu.

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).