Saya tahu ada metode untuk daftar Python untuk mengembalikan indeks pertama dari sesuatu: Show
Apakah ada sesuatu seperti itu untuk array NumPy? Ya, inilah jawaban yang diberikan array NumPy,
Hasilnya adalah Tuple dengan pertama semua indeks baris, lalu semua indeks kolom. Misalnya, jika array dua dimensi dan berisi item Anda di dua lokasi, maka
akan sama dengan item Anda dan begitu juga
numpy.where Jika Anda memerlukan indeks
kemunculan pertama hanya satu nilai, Anda dapat menggunakan
Jika Anda memerlukan indeks pertama dari masing-masing banyak nilai, Anda jelas dapat melakukan hal yang sama seperti di atas berulang kali, tetapi ada trik yang mungkin lebih cepat. Berikut ini menemukan indeks elemen pertama dari setiap sesudahnya :
Perhatikan bahwa ia menemukan awal dari kedua urutan 3s dan kedua berikutnya dari 8s: [1, 1, 1, 2, 2, , 8, =, 8, 8] Jadi sedikit berbeda dari menemukan kemunculan pertama dari setiap nilai. Dalam program Anda, Anda mungkin dapat bekerja dengan versi
Anda juga dapat mengonversi array NumPy ke daftar di udara dan mendapatkan indeksnya. Sebagai contoh,
Ini akan mencetak 1. Jika Anda akan menggunakan ini sebagai indeks untuk sesuatu yang lain, Anda dapat menggunakan indeks boolean jika array dapat disiarkan; Anda tidak perlu indeks eksplisit. Cara termudah mutlak untuk melakukan ini adalah dengan hanya indeks berdasarkan nilai kebenaran.
Semua operasi boolean berfungsi:
Metode bukan nol juga membutuhkan boolean:
Dua nol adalah untuk Tuple dari indeks (dengan asumsi first_array adalah 1D) dan kemudian item pertama dalam array indeks. Hanya dengan menambahkan alternatif yang sangat performan dan berguna numba berdasarkan
Ini cukup cepat dan berurusan secara alami dengan array multidimensi :
Ini bisa jauh lebih cepat (karena itu hubungan arus pendek operasi) daripada pendekatan apa pun menggunakan Namun
Seseorang dapat dengan aman berasumsi bahwa fungsi Untuk menemukan elemen yang berhenti setelah kecocokan pertama dalam array NumPy gunakan iterator ( ndenumerate ).
Array NumPy:
Perhatikan bahwa kedua metode
Ada fungsi-fungsi lain dalam NumPy (
Perbandingan waktuHanya memeriksa bahwa untuk array besar solusi menggunakan iterator lebih cepat ketika item yang dicari adalah di awal array (menggunakan
Ini adalah masalah terbuka masalah NumPy GitHub . Lihat juga: Numpy: cari indeks nilai pertama dengan cepat Untuk mengindeks pada kriteria apa pun, Anda dapat melakukannya seperti berikut ini:
Dan inilah fungsi cepat untuk melakukan apa yang list.index () lakukan, kecuali tidak menimbulkan pengecualian jika tidak ditemukan. Waspadalah - ini mungkin sangat lambat pada array besar. Anda mungkin bisa menambal monyet ini ke array jika Anda lebih suka menggunakannya sebagai metode.
Untuk array 1D, saya akan merekomendasikan Untuk array satu dimensi yang diurutkan , akan jauh lebih sederhana dan efisien O(log(n)) untuk digunakan - numpy.searchsorted yang mengembalikan integer NumPy (posisi). Sebagai contoh,
Pastikan array sudah diurutkan Juga periksa apakah indeks yang dikembalikan saya benar-benar berisi elemen yang dicari, karena tujuan utama pencarian adalah untuk menemukan indeks di mana elemen harus dimasukkan untuk menjaga ketertiban.
Ada banyak operasi di NumPy yang mungkin bisa disatukan untuk mencapai ini. Ini akan mengembalikan indeks elemen yang sama dengan item:
Anda kemudian dapat mengambil elemen pertama dari daftar untuk mendapatkan elemen tunggal. Alternatif untuk memilih elemen pertama dari np.where () adalah dengan menggunakan ekspresi generator bersama dengan penghitungan, seperti:
Untuk array dua dimensi yang akan dilakukan:
Keuntungan dari pendekatan ini adalah bahwa ia berhenti memeriksa elemen-elemen array setelah kecocokan pertama ditemukan, sedangkan np.where memeriksa semua elemen untuk kecocokan. Ekspresi generator akan lebih cepat jika ada kecocokan di awal array. Paket numpy_indexed (penafian, saya penulisnya) berisi ekuivalen vektor list.index untuk numpy.ndarray; itu adalah:
Solusi ini memiliki kinerja vektor, digeneralisasikan ke ndarray, dan memiliki berbagai cara untuk menangani nilai yang hilang. Apa itu Index dalam pemrograman?Index adalah sebuah objek dalam sistem database yang dapat mempercepat proses pencarian (query) data. Saat database dibuat tanpa menggunakan index, maka kinerja server database dapat menurun secara drastis.
Apa itu def di Python?def pada bahasa python adalah suatu cara untuk mendifinisikan sebuah method atau fungsi.
Apa itu built in pada Python?Didalam bahasa pemrograman Python terdapat dua jenis yaitu Built-In Function dan User Defined Function. Built-In Function adalah sebutan untuk fungsi yang sudah ada secara bawaan dari dalam bahasa pemrograman. Sedangkan User Defined Function adalah fungsi yang kita (sebagai programmer) membuatnya sendiri.
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.
|