Dapatkah array diiris dengan python?
Pada bagian ini kita akan melihat pengindeksan dan pemotongan. Ini bekerja dengan cara yang mirip dengan pengindeksan dan pemotongan dengan daftar Python standar, dengan beberapa perbedaan Show
Berikut adalah video yang membahas topik ini Mengindeks arrayPengindeksan digunakan untuk mendapatkan elemen individu dari array, tetapi juga dapat digunakan untuk mendapatkan seluruh baris, kolom, atau bidang dari array multi-dimensi Pengindeksan dalam 1 dimensiKita dapat membuat array numpy 1 dimensi dari daftar seperti ini import numpy as np a1 = np.array([1, 2, 3, 4]) print(a1) # [1, 2, 3, 4] Kita dapat mengindeks ke dalam array ini untuk mendapatkan elemen individual, persis sama dengan daftar atau tuple normal print(a1[0]) # 1 print(a1[2]) # 3_ Pengindeksan dalam 2 dimensiKita dapat membuat array numpy 2 dimensi dari daftar daftar python, seperti ini import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) Berikut adalah diagram dari array Kita dapat mengindeks elemen array menggunakan dua indeks - i memilih baris, dan j memilih kolom print(a2[2, 1]) # 8 Perhatikan sintaksnya - nilai i dan j keduanya berada di dalam tanda kurung siku, dipisahkan dengan koma (indeks sebenarnya adalah tupel (2, 1), tetapi pengepakan tupel digunakan). Contoh mengambil baris 2, kolom 1, yang memiliki nilai 8. Ini dibandingkan dengan sintaks yang mungkin Anda gunakan dengan daftar 2D (yaitu daftar daftar) v = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(v[2][1]) # 8_ Memilih baris atau kolomJika kami dapat menyediakan satu indeks, itu akan mengambil satu baris (nilai i) dan mengembalikannya sebagai array peringkat 1 print(a2[2]) # [7, 8, 9] Itu sangat mirip dengan apa yang akan terjadi dengan daftar 2D. Namun, numpy memungkinkan kita untuk memilih satu kolom juga print(a2[:, 1]) # [2, 5, 8]_ Kami melompat ke depan sedikit untuk mengiris, nanti di tutorial ini, tetapi yang dimaksud dengan sintaks ini adalah
Memberikan array ini [2, 5, 8]
Pengindeksan dalam 3 dimensiKita dapat membuat array numpy 3 dimensi dari daftar daftar daftar python, seperti ini import numpy as np a3 = np.array([[[10, 11, 12], [13, 14, 15], [16, 17, 18]], [[20, 21, 22], [23, 24, 25], [26, 27, 28]], [[30, 31, 32], [33, 34, 35], [36, 37, 38]]]) Berikut adalah diagram dari array Array 3D seperti tumpukan matriks
Ini adalah diagram yang sama, sebarkan sedikit agar kita bisa melihat nilainya Berikut adalah cara mengindeks nilai tertentu dalam larik 3D print(a3[2, 0, 1]) # 31_ Ini memilih indeks matriks 2 (matriks akhir), baris 0, kolom 1, memberikan nilai 31 Memilih baris atau kolom dalam larik 3DAnda dapat mengakses setiap baris atau kolom dalam larik 3D. Ada 3 kasus Kasus 1 - menentukan dua indeks pertama. Dalam hal ini, Anda memilih nilai i (matriks), dan nilai j (baris). Ini akan memilih baris tertentu. Dalam contoh ini kita memilih baris 2 dari matriks 1 print(a3[1, 2]) # [26 27 28]_ Kasus 2 - menentukan nilai i (matriks), dan nilai k (kolom), menggunakan irisan penuh (. ) untuk nilai j (baris). Ini akan memilih kolom tertentu. Dalam contoh ini kami memilih kolom 1 dari matriks 0 print(a1[0]) # 1 print(a1[2]) # 3_0 Kasus 3 - menentukan nilai j (baris), dan nilai k (kolom), menggunakan irisan penuh (. ) untuk nilai i (matriks). Ini akan membuat baris dengan mengambil elemen yang sama dari setiap matriks. Dalam hal ini kita mengambil baris 1, kolom 2 dari setiap matriks print(a1[0]) # 1 print(a1[2]) # 3_1 Memilih matriks dalam array 3DJika kami hanya menentukan indeks i, numpy akan mengembalikan matriks yang sesuai. Kami akan menyebut kasus ini 1. Dalam contoh ini kita akan meminta matriks 2 print(a1[0]) # 1 print(a1[2]) # 3_2 Kasus 2 jika kita hanya menentukan nilai j (menggunakan irisan penuh untuk nilai i), kita akan memperoleh matriks yang terbuat dari baris terpilih yang diambil dari setiap bidang. Dalam contoh ini kita akan mengambil baris 1 print(a1[0]) # 1 print(a1[2]) # 3_3 Kasus 3 jika kita menentukan nilai k saja (menggunakan irisan penuh untuk nilai i dan j), kita akan memperoleh matriks yang dibuat dari kolom terpilih yang diambil dari setiap bidang. Dalam contoh ini kita akan mengambil kolom 0 print(a1[0]) # 1 print(a1[2]) # 3_4 Mengiris arrayAnda dapat mengiris array numpy adalah cara yang mirip dengan mengiris daftar - kecuali Anda dapat melakukannya di lebih dari satu dimensi
Mengiris daftar - rekapHanya rekap singkat tentang cara mengiris bekerja dengan daftar Python normal. Misalkan kita memiliki daftar print(a1[0]) # 1 print(a1[2]) # 3_5 Kita bisa menggunakan slicing untuk mengambil sub-list, seperti ini print(a1[0]) # 1 print(a1[2]) # 3_6 Notasi irisan menentukan nilai awal dan akhir [mulai. akhir] dan menyalin daftar dari awal hingga tetapi tidak termasuk akhir Kita dapat menghilangkan bagian awal, dalam hal ini potongan dimulai dari awal daftar. Kita dapat menghilangkan bagian akhir, sehingga potongan berlanjut ke bagian akhir daftar. Jika kita menghilangkan keduanya, potongan yang dibuat adalah salinan dari seluruh daftar print(a1[0]) # 1 print(a1[2]) # 3_7 Satu hal terakhir yang perlu diperhatikan adalah perbedaan antara indeks dan potongan dengan panjang 1 print(a1[0]) # 1 print(a1[2]) # 3_8 Indeks mengembalikan elemen array, irisan mengembalikan daftar satu elemen Mengiris array numpy 1DMengiris array numpy 1D hampir persis sama dengan mengiris daftar print(a1[0]) # 1 print(a1[2]) # 3_9 Satu-satunya hal yang perlu diingat jika itu (tidak seperti daftar) a1 dan b keduanya melihat data dasar yang sama (b adalah tampilan data). Jadi jika Anda mengubah elemen di b, a1 akan terpengaruh (dan sebaliknya) import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])0 Mengiris array 2DAnda dapat mengiris larik 2D di kedua sumbu untuk mendapatkan subset persegi panjang dari larik asli. Sebagai contoh import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])1 Ini memilih baris 1. (1 ke ujung bawah array) dan kolom 2. 4 (kolom 2 dan 3), seperti yang ditunjukkan di sini Mengiris array 3DAnda dapat mengiris larik 3D di semua 3 sumbu untuk mendapatkan subset berbentuk kubus dari larik asli import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])2 Ini memilih
Seperti yang ditunjukkan di sini Irisan penuhAnda tentu saja dapat menggunakan irisan penuh. untuk memilih semua bidang, kolom, atau baris. Namun, untuk indeks tambahan, cukup hilangkan hitungan indeks sebagai irisan penuh. Jadi untuk array 2D import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])_3 Untuk array 3D import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])_4 Irisan vs pengindeksanSeperti yang kita lihat sebelumnya, Anda dapat menggunakan indeks untuk memilih kolom atau baris bidang tertentu. Di sini kita memilih baris 1, kolom 2. 4 import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])5 Anda juga dapat menggunakan irisan dengan panjang 1 untuk melakukan hal serupa (irisan 1. 2 bukannya indeks 1) import numpy as np a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])6 Perhatikan perbedaan halus. Yang pertama membuat larik 1D, yang kedua membuat larik 2D dengan hanya satu baris Jika menurut Anda artikel ini bermanfaat, Anda mungkin tertarik dengan buku Resep NumPy atau buku lain dari penulis yang sama Bagaimana Anda memotong array dengan Python?Anda dapat menggunakan metode pop() untuk menghapus elemen dari larik.
Bisakah Anda memotong array?potongan Array JavaScript()
. Metode slice() memilih dari awal yang diberikan, hingga akhir yang diberikan (tidak termasuk). Metode slice() tidak mengubah array asli. The slice() method returns selected elements in an array, as a new array. The slice() method selects from a given start, up to a (not inclusive) given end. The slice() method does not change the original array.
Apa yang bisa diiris dengan Python?Python mendukung notasi irisan untuk jenis data sekuensial apa pun seperti daftar, string, tupel, byte, bytearray, dan rentang . Juga, setiap struktur data baru dapat menambahkan dukungannya juga. Ini sangat digunakan (dan disalahgunakan) di perpustakaan NumPy dan Pandas, yang sangat populer di Pembelajaran Mesin dan Ilmu Data.
Bisakah Anda mengiris array NumPy?Mengiris dapat dilakukan dengan bantuan (. ) . Objek pengiris array NumPy dibuat dengan memberikan parameter start , stop , dan step ke fungsi pengiris bawaan. Objek pengiris ini diteruskan ke array untuk mengekstrak sebagian dari array. |