Bạn có thể sử dụng hàm where () của numpy để tìm chỉ mục của một phần tử trong mảng numpy.

Bạn đang xem : chỉ mục của mảng numpy

Trong hướng dẫn này, chúng ta sẽ xem xét cách tìm chỉ mục của một phần tử trong mảng numpy.

Bạn có thể sử dụng hàm numpy’s where () để lấy chỉ mục của một phần tử bên trong mảng. Ví dụ sau minh họa cách sử dụng.

 np.where (arr == i) 

Ở đây, arr là mảng numpy và i là phần tử mà bạn muốn lấy chỉ mục. Bên trong hàm, chúng ta truyền arr == i là một thao tác vector hóa trên mảng arr để so sánh từng phần tử của nó với giá trị trong i và kết quả là một mảng boolean True Giá trị sai.

Bây giờ, np.where () cung cấp cho bạn tất cả các chỉ số nơi phần tử xuất hiện trong mảng. Đó là chỉ số của tất cả các phần tử mà arr == i đánh giá là True. Phương pháp này hoạt động cho cả mảng một chiều và nhiều chiều. Xem các ví dụ bên dưới:

Hãy áp dụng cú pháp trên trên mảng numpy một chiều và tìm tất cả các chỉ số nơi xuất hiện một phần tử cụ thể. Đầu tiên, hãy tạo một mảng 1D và in nó ra.

 nhập numpy dưới dạng np

# tạo một mảng numpy
arr = np.array ([7, 5, 8, 6, 3, 9, 5, 2, 3, 5])
# in mảng ban đầu
print ("Mảng gốc:", arr) 

Đầu ra:

 Mảng ban đầu: [7 5 8 6 3 9 5 2 3 5] 

Bây giờ chúng ta có một mảng 1D numpy, hãy tìm các chỉ mục nơi phần tử 5 xuất hiện bên trong mảng:

 # tìm chỉ mục của 5
result = np.where (arr == 5)
# in kết quả
print ("Chỉ mục của 5:", kết quả) 

Đầu ra:

 Chỉ mục của 5: (array ([1, 6, 9], dtype = int64),) 

Chúng tôi nhận được một loạt các mảng numpy làm đầu ra. Lưu ý rằng bộ giá trị 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ử 5 bên trong mảng.

Nếu bạn sử dụng hàm np.where () trên mảng numpy nhiều chiều, bộ giá trị được trả về sẽ có nhiều mảng numpy, một mảng cho mỗi trục.

Nếu phần tử không có trong mảng, chúng ta nhận được một mảng trống với np.where () . Ví dụ: hãy sử dụng nó để tìm chỉ mục của 1 , một phần tử không có trong mảng ở trên arr .

 # chỉ mục của 1
print (np.where (arr == 1)) 

Đầu ra:

 (array ([], dtype = int64),) 

Bạn có thể thấy rằng bộ giá trị được trả về chứa một mảng rỗng.

Xem Thêm  Danh sách các thực thể HTML - danh sách các thực thể html

np.where () 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ỉ mục của lần xuất hiện đầu tiên. Ví dụ: hãy tìm chỉ mục của lần xuất hiện đầu tiên của 5 trong mảng trên.

 # chỉ mục đầu tiên của 5
print ("Chỉ mục đầu tiên của 5:", np.where (arr == 5) [0] [0]) 

Đầu ra:

 Chỉ mục đầu tiên của 5: 1 

Từ các ví dụ trước, chúng ta biết rằng 5 hiện diện ở các chỉ mục 1, 6 và 9 trong mảng arr. Ở đây, chúng tôi nhận được lần xuất hiện đầu tiên của nó ở chỉ số 1.

Chúng ta cũng có thể sử dụng hàm np.where () để tìm vị trí / chỉ số lần xuất hiện của các phần tử trong mảng hai chiều hoặc nhiều chiều. Đối với một mảng 2D, bộ giá trị được trả về sẽ chứa hai mảng rỗng, một cho các hàng và một cho các cột.

Đầu tiên, hãy tạo một mảng numpy hai chiều.

 # tạo một mảng 2D
arr = np.array ([[21, 17, 19],
                [15, 23, 17],
                [17, 11, 16]])
# in mảng ban đầu
print ("Mảng gốc: \ n", arr) 

Đầu ra:

 Mảng ban đầu:
 [[21 17 19]
 [15 23 17]
 [17 11 16]] 

Ở đây, chúng tôi đã tạo một mảng 2D numpy với ba hàng và ba cột. Hãy tìm các chỉ mục có 17 xuất hiện bên trong mảng này.

 # tìm chỉ mục của 17
result = np.where (arr == 17)
# in kết quả
print ("Chỉ mục của 17:", kết quả) 

Đầu ra:

 Chỉ mục của 17: (array ([0, 1, 2], dtype = int64), array ([1, 2, 0], dtype = int64)) 

Bộ giá trị được trả về từ np.where () chứa hai mảng trống. Giá trị mảng đầu tiên cho biết chỉ số hàng trong khi giá trị mảng thứ hai cho chỉ số cột về các lần xuất hiện của phần tử bên trong mảng 2D.

Hãy làm cho các chỉ mục này dễ đọc hơn bằng cách hiển thị các bộ chỉ mục (hàng, cột) cho mỗi lần xuất hiện.

 # lấy vị trí trong mảng 2-d
print (list (zip (result [0], result [1]))) 

Đầu ra:

 [(0, 1), (1, 2), (2, 0)] 

Kết quả cho thấy rằng 17 xuất hiện 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.

Xem Thêm  Cách làm cho Thanh cuộn chỉ hiển thị khi cần thiết - thanh cuộn css luôn hiển thị

Nếu phần tử không có trong mảng 2D. Tuple được trả về từ np.where () sẽ có hai mảng trống. Ví dụ: nếu chúng tôi kiểm tra chỉ số 13, một phần tử không có trong mảng 2D ở trên –

 print ("Chỉ mục của 13:", np.where (arr == 13)) 

Đầu ra:

 Chỉ mục của 13: (array ([], dtype = int64), array ([], dtype = int64)) 

Chúng tôi nhận được một bộ gồm hai mảng trống.

Để biết thêm về hàm where numpy, hãy tham khảo tài liệu của nó .

Với điều này, chúng ta sẽ đi đến phần cuối của hướng dẫn này. Các ví dụ mã và kết quả được trình bày trong hướng dẫn này đã được triển khai trong Jupyter Notebook với nhân python (phiên bản 3.8.3) có phiên bản numpy 1.18.5

Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin hướng dẫn và hướng dẫn.
Chúng tôi không spam và bạn có thể chọn không tham gia bất kỳ lúc nào.

Tác giả

  • Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ.


Xem thêm những thông tin liên quan đến chủ đề chỉ mục của mảng numpy

Introduction to Numerical Computing with NumPy | SciPy 2019 Tutorial | Alex Chabot-Leclerc

  • Tác giả: Enthought
  • Ngày đăng: 2019-07-11
  • Đánh giá: 4 ⭐ ( 5949 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: NumPy provides Python with a powerful array processing library and an elegant syntax that is well suited to expressing computational algorithms clearly and efficiently. We’ll introduce basic array syntax and array indexing, review some of the available mathematical functions in NumPy, and discuss how to write your own routines. Along the way, we’ll learn just enough about matplotlib to display results from our examples.
    See tutorial materials here: https://www.scipy2019.scipy.org/tutorial-participant-instructions

    Connect with us!
    *****************
    https://twitter.com/enthought
    https://www.facebook.com/Enthought/
    https://www.linkedin.com/company/enthought

Bài 1. Mảng trong numpy (Numpy array)

  • Tác giả: pythonnangcao.com
  • Đánh giá: 5 ⭐ ( 7038 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: NumPy là một Thư viện Đại số Tuyến tính cho Python, lý do khiến nó rất quan trọng đối với Khoa học Dữ liệu với Python là hầu như tất cả các thư viện trong Hệ sinh thái Py-Data đều dựa vào NumPy như một trong những khối xây dựng chính của chúng

Chỉ mục của phần tử trong mảng NumPy

  • Tác giả: vi.waldorf-am-see.org
  • Đánh giá: 4 ⭐ ( 1705 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong Python, chúng ta có thể lấy chỉ mục của một giá trị trong một mảng bằng cách sử dụng .index (). Nhưng với mảng NumPy, khi tôi cố gắng thực hiện: decoding.index (i), tôi nhận được: AttributeError: đối tượng ‘numpy.ndarray’ không có thuộc tính ‘

NumPy – Lập chỉ mục nâng cao

  • Tác giả: knews.vip
  • Đánh giá: 4 ⭐ ( 6846 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Có thể thực hiện lựa chọn từ ndarray là một chuỗi không phải tuple, đối tượng ndarray kiểu dữ liệu số nguyên hoặc Boolean, hoặc một bộ dữ liệu có ít nhất một mục là đối tượng chuỗi. Lập chỉ mục nâng cao luôn trả về một bản sao của dữ liệu. Ngược lại, việc cắt chỉ hiển thị một…

w3seo thao tác trên mảng trong Thư viện NumPy

  • Tác giả: websitehcm.com
  • Đánh giá: 5 ⭐ ( 2669 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: NumPy Ndarray w3seo hướng dẫn sử dụng thư viện NumPy sử dụng Ndarray, các toán tử trên mảng trong NumPy, operator array

Hiểu NumPy

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 1613 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: NumPy là gì? NumPy là một thư viện Python mạnh mẽ, chủ yếu được sử dụng để thực hiện các tính toán trên các mảng đa chiều. Từ NumPy đã được bắt nguồn từ hai từ – Python số. NumPy cung cấp…

Numpy: lấy chỉ mục của các phần tử của mảng 1d dưới dạng mảng 2d

  • Tác giả: qastack.vn
  • Đánh giá: 4 ⭐ ( 9865 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Đây là cách tiếp cận O (max (x) + len (x)) bằng cách sử dụng scipy.sparse:…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Hình ảnh tạo kiểu CSS - css ảnh bìa div

By ads_php