Pengindeksan Berdasarkan Dimensi
Pelajaran 13 dari 18 dalam kursus Dasar-Dasar NumPy di Coddy.
Numpy mendukung alat yang sangat kuat, pengindeksan dimensi.
Untuk mengindeks dimensi, kita menggunakan titik dua :. Titik dua mengambil semua elemen pada indeks tertentu tempat tanda itu diletakkan. Misalnya, anggap kita memiliki array dengan bentuk ary.shape # --> (2, 1, 3, 1), menempatkan titik dua : pada ary[:, 0, 0, 0] akan mengambil dua elemen paling kiri dari bentuk tersebut, lalu untuk setiap elemen itu, mengambil elemen ke-0 dari dimensi lainnya.
Catatan: Letak titik dua di dalam brackets [] adalah dimensi yang sedang kita indeks, artinya
ary[:, 0, 0, 0]Mengindeks dimensi 4Dary[0, :, 0, 0]Mengindeks dimensi 3Dary[0, 0, :, 0]Mengindeks dimensi 2Dary[0, 0, 0, :]Mengindeks dimensi 1Dary[:, :, 0, 0]Mengindeks dimensi 4D dan 3D- dan seterusnya
Contoh 1
ary = np.array([
[1, 2],
[3, 4]
])
ary[:, 0] # --> [1, 3]
ary[0, :] # --> [1, 2]Titik dua mengambil semua elemen pada indeks yang ditentukan, lalu melanjutkan ke indeks berikutnya.
Dalam kasus kita:
ary[:, 0]Kita mengambil semua elemen pertama, lalu mengambil elemen ke-0 dari setiap elemen tersebut.ary[0, :]Kita mengambil elemen pertama, lalu mengambil semua elemen dari elemen tersebut.
Contoh 2
array 3D
ary = np.array([
[[1, 2], [3, 4]],
[[5, 6], [7, 8]]
])
ary[:, 0, :] # --> [[1, 2], [5, 6]]
ary[:, :, 0] # --> [[1, 3], [5, 7]]ary[:, 0, :]Kita mengambil semua elemen, lalu mengambil elemen pertama, dan terakhir mengambil semua elemen di sana.ary[:, :, 0]Kita mengambil semua elemen, lalu mengambil semua elemen tersebut, dan terakhir mengambil elemen pertama dari masing-masing elemen.- Bisakah kamu menebak apa output dari
ary[0, :, :]?
Contoh 3
Mengambil indeks pertama dan terakhir dari setiap baris
x = np.array([
[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
])
x[:, np.array([0, -1])]
>>> [0, 5, 6, 11, 12, 17, 18, 23]Contoh 4
array dengan bentuk (2, 1, 3, 1), sama seperti pada contoh pembuka
ary = np.array([
[
[
[1],[2],[3]
]
],
[
[
[4],[5],[6]
]
]
])
ary[:, 0, 0, 0] # --> [1, 4]
ary[0, :, 0, 0] # --> [1]
ary[0, 0, :, 0] # --> [1, 2, 3]
ary[0, 0, 0, :] # --> [1]Catatan: kamu juga dapat menggunakan sintaks slicing start:stop:step yang telah kita pelajari di pelajaran Slicing.
ary[:, 0:5, 2:3, :]
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Tantangan
MudahDiberikan array 3D ary, ambil angka ke-2, ke-3, dan ke-4 dari setiap array 1D.
Coba sendiri
import numpy as np
'''
ary looks like:
array([[[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]],
[[20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35, 36, 37, 38, 39]],
[[40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
[50, 51, 52, 53, 54, 55, 56, 57, 58, 59]],
[[60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
[70, 71, 72, 73, 74, 75, 76, 77, 78, 79]],
[[80, 81, 82, 83, 84, 85, 86, 87, 88, 89],
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]]])
'''
ary = np.arange(0, 100).reshape(5, 2, 10) # don't change ary
res = ary[] # <-- Complete indices
print(str(res).replace("\n", "")) # don't change this lineSemua pelajaran di Dasar-Dasar NumPy
2Pembuatan array N-Dimensi
Dimensi Lebih TinggiMemahami BentukMengisi dengan Nilai TetapTipe NumPyRentangMengubah Bentuk3Pengindeksan Array NumPy
Pengindeksan DasarSlicingPengindeksan arrayPengindeksan Berdasarkan DimensiPengindeksan BooleanPengindeksan dengan Beberapa KondisiLatihan sendiri: Compiler Python online