Hướng dẫn find index of element in 2d array python - tìm chỉ mục của phần tử trong python mảng 2d
Tôi cần tìm ra làm thế nào tôi có thể tìm thấy tất cả các chỉ mục của một giá trị trong một mảng 2D. Show Ví dụ: tôi có mảng 2D sau:
Tôi cần tìm chỉ số của tất cả các 1 và 0.
Tôi đã thử điều này nhưng nó không cung cấp cho tôi tất cả các chỉ mục:
Về cơ bản, nó chỉ cung cấp cho tôi một trong các chỉ mục trong mỗi hàng 0. Trong hướng dẫn này, chúng tôi sẽ xem xét cách tìm chỉ số của một phần tử trong một mảng numpy. Bạn có thể sử dụng hàm Numpy WHERe WHERE () để lấy chỉ mục của một phần tử bên trong mảng. Ví dụ sau đây minh họa việc sử dụng. np.where(arr==i) Ở đây, 1 là mảng numpy và 2 là yếu tố mà bạn muốn có được chỉ mục. Bên trong hàm, chúng tôi vượt qua ARR == I, một hoạt động vector hóa trên mảng mảng để so sánh từng phần tử của nó với giá trị trong I và dẫn đến một mảng vô âm của các giá trị boolean 3 và 4.Bây giờ, 5 cung cấp cho bạn tất cả các chỉ số nơi phần tử xảy ra trong mảng. Đó là các chỉ số của tất cả các yếu tố mà ARR == tôi đánh giá là đúng. Phương pháp này hoạt động cho cả mảng một chiều và đa chiều. Xem các ví dụ dưới đây:1. INDEX của phần tử trong mảng 1DHãy để áp dụng cú pháp trên trên một mảng numpy một chiều và tìm thấy tất cả các chỉ số nơi xảy ra một phần tử cụ thể. Đầu tiên, hãy để tạo ra một mảng 1D và in nó ra. import numpy as np # create a numpy array arr = np.array([7, 5, 8, 6, 3, 9, 5, 2, 3, 5]) # print the original array print("Original array:", arr) Output: Original array: [7 5 8 6 3 9 5 2 3 5] Bây giờ chúng ta có một mảng Numpy 1D, hãy để tìm các chỉ mục trong đó phần tử 6 xảy ra bên trong mảng:# find index of 5 result = np.where(arr==5) # print the result print("Index of 5:", result) Output: Index of 5: (array([1, 6, 9], dtype=int64),) Chúng tôi nhận được một mảng numpy như một đầu ra. Lưu ý rằng tuple này chỉ có một mảng numpy lưu trữ các chỉ số xuất hiện của phần tử 6 bên trong mảng.Nếu bạn đã sử dụng hàm 5 trên một mảng numpy đa chiều, bộ tple được trả về sẽ có nhiều mảng numpy, một cho mỗi trục.Điều gì sẽ xảy ra nếu phần tử không có trong mảng?Nếu phần tử không có trong mảng, chúng ta sẽ nhận được một mảng trống với 5. Ví dụ, hãy để sử dụng nó để tìm chỉ số của np.where(arr==i)0, một yếu tố không có trong mảng trên 1.# index of 1 print(np.where(arr==1)) Output: (array([], dtype=int64),) Bạn có thể thấy rằng tuple trả về chứa một mảng numpy trống rỗng. Chỉ mục của sự xuất hiện đầu tiên của phần tửVì 5 trả về tất cả các chỉ mục của sự xuất hiện của một phần tử. Bạn có thể sử dụng nó để tìm chỉ số của lần xuất hiện đầu tiên. Ví dụ, hãy để Lừa tìm chỉ số của lần xuất hiện đầu tiên của 6 trong mảng trên. 0Output: 1Từ các ví dụ trước, chúng tôi biết rằng 5 có mặt tại các chỉ mục 1, 6 và 9 trong mảng mảng. Ở đây chúng tôi nhận được sự xuất hiện đầu tiên của nó là tại INDEX 1. 2. INDEX của phần tử trong mảng 2DChúng ta cũng có thể sử dụng hàm 5 để tìm vị trí/chỉ số xuất hiện của các phần tử trong một mảng hai chiều hoặc đa chiều. Đối với một mảng 2D, tuple được trả về sẽ chứa hai mảng numpy một cho các hàng và cái còn lại cho các cột.Đầu tiên, hãy để tạo ra một mảng numpy hai chiều. 2Output: 3Ở đây chúng tôi đã tạo ra một mảng 2D Numpy với ba hàng và ba cột. Hãy để tìm các chỉ mục trong đó 17 xảy ra bên trong mảng này. 4Output: 5Bộ phận được trả lại từ 5 chứa hai mảng numpy. Các giá trị mảng thứ nhất cho biết các chỉ mục hàng trong khi các giá trị mảng thứ hai cho biết các chỉ mục cột của các lần xuất hiện của phần tử bên trong mảng 2D.Hãy để Lừa làm cho các chỉ mục này dễ đọc hơn bằng cách hiển thị các bộ dữ liệu chỉ mục (hàng, cột) cho mỗi lần xuất hiện. 6Output: 7Kết quả cho thấy 17 xảy ra tại các vị trí sau - hàng 0 cột 1, hàng 1 cột 2 và hàng 2 Cột 0 với chỉ mục cho các hàng và cột bắt đầu từ 0. Điều gì sẽ xảy ra nếu phần tử không có trong mảng?Nếu phần tử không có trong mảng 2D. Bộ tuple được trả lại từ np.where () sẽ có hai mảng numpy trống. Ví dụ: nếu chúng ta kiểm tra chỉ số của 13, một phần tử không có trong mảng 2D ở trên - 8Output: 9Chúng tôi nhận được một bộ ba mảng numpy trống rỗng. Để biết thêm về Numpy nơi chức năng, hãy tham khảo tài liệu của nó. Với điều này, chúng tôi đi đến cuối hướng dẫn này. Các ví dụ và kết quả mã được trình bày trong hướng dẫn này đã được triển khai trong A & nbsp; Jupyter Notebook & NBSP; với hạt nhân Python (phiên bản 3.8.3) có phiên bản Numpy 1.18.5
Hướng dẫn về mảng Numpy -
|