Hướng dẫn how do you get the index of an element in a numpy array in python? - làm cách nào để lấy chỉ mục của một phần tử trong mảng numpy trong python?

Trong bài viết này, chúng tôi sẽ thảo luận về cách tìm chỉ mục của một giá trị trong một mảng numpy (cả 1D & 2D) bằng Numpy.where ().

Hãy để tạo ra một mảng numpy từ một danh sách các số, tức là.

import numpy as np

# Create a numpy array from a list of numbers
arr = np.array([11, 12, 13, 14, 15, 16, 17, 15, 11, 12, 14, 15, 16, 17])

Bây giờ, hãy để Lừa xem cách tìm kiếm các yếu tố trong mảng numpy này.

Trong phần tử mảng numpy ở trên với giá trị 15 xảy ra ở các nơi khác nhau, hãy để tìm tất cả các chỉ số của nó, tức là.15 occurs at different places let’s find all it’s indices i.e.

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')

Đầu ra:

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]

Kết quả là một tuple của các mảng (một cho mỗi trục) chứa các chỉ số trong đó giá trị 15 tồn tại trong mảng mảng, tức là. is a tuple of arrays (one for each axis) containing the indices where value 15 exists in array arr i.e.

(array([ 4,  7, 11], dtype=int32),)

Vì mảng của chúng tôi là một mảng 1D phẳng, vì vậy tple được trả về sẽ chỉ chứa một mảng các chỉ số và nội dung & nbsp;arr is a flat 1D array, so returned tuple will contain only one array of indices and contents of the returned array result[0] are,

[ 4  7 11]

Nhận chỉ mục đầu tiên của phần tử có giá trị 15,

result[0][0]

Nó đã hoạt động như thế nào?

numpy.where () chấp nhận một điều kiện và 2 mảng tùy chọn, tức là.

numpy.where(condition[, x, y])

Nếu chỉ đối số điều kiện được đưa ra thì nó sẽ trả về các chỉ số của các yếu tố đúng trong mảng bool numpy được trả về theo điều kiện. & Nbsp; ví dụ như điều kiện sau, điều kiện,

boolArr = (arr == 15)

Trả về một mảng bool numpy boolarr, chứa đúng của mỗi phần tử bằng 15, đối với các phần tử khác, nó chứa sai, tức là.boolArr, containing TRUE of each element that is equal to 15, for other elements it contains False i.e.

[False False False False  True False False  True False False False  True False False]

Bây giờ nếu bạn sẽ vượt qua mảng bool này cho numpy.where ()

result = numpy.where(boolArr)

Sau đó, nó sẽ trả về một tuple của các mảng (một cho mỗi trục) chứa các chỉ số trong đó giá trị là đúng trong mảng bool numpy đã cho, tức là.

[ 4  7 11]

Quảng cáo

Nếu phần tử không tìm thấy trong mảng numpy

Nếu phần tử đã cho không tồn tại trong mảng numpy thì sẽ trả về mảng các chỉ số sẽ trống, tức là.

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
1

Đầu ra:

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
2

Kết quả là một tuple của các mảng (một cho mỗi trục) chứa các chỉ số trong đó giá trị 15 tồn tại trong mảng mảng, tức là.

Vì mảng của chúng tôi là một mảng 1D phẳng, vì vậy tple được trả về sẽ chỉ chứa một mảng các chỉ số và nội dung & nbsp;

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
3

Nhận chỉ mục đầu tiên của phần tử có giá trị 15,

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
4

Nó đã hoạt động như thế nào?value 15 in this 2D numpy array i.e.

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
5

Đầu ra:

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
6

Kết quả là một tuple của các mảng (một cho mỗi trục) chứa các chỉ số trong đó giá trị 15 tồn tại trong mảng mảng, tức là.

Vì mảng của chúng tôi là một mảng 1D phẳng, vì vậy tple được trả về sẽ chỉ chứa một mảng các chỉ số và nội dung & nbsp;array 1 represents the row indices where this value is found i.e.

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
7

Nhận chỉ mục đầu tiên của phần tử có giá trị 15,array 2 represents the column indices where this value is found i.e.

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
8

Nó đã hoạt động như thế nào?

# Get the index of elements with value 15
result = np.where(arr == 15)

print('Tuple of arrays returned : ', result)
print("Elements with value 15 exists at following indices", result[0], sep='\n')
9

numpy.where () chấp nhận một điều kiện và 2 mảng tùy chọn, tức là.

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
0

Nếu chỉ đối số điều kiện được đưa ra thì nó sẽ trả về các chỉ số của các yếu tố đúng trong mảng bool numpy được trả về theo điều kiện. & Nbsp; ví dụ như điều kiện sau, điều kiện,

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
1

Trả về một mảng bool numpy boolarr, chứa đúng của mỗi phần tử bằng 15, đối với các phần tử khác, nó chứa sai, tức là.

Bây giờ nếu bạn sẽ vượt qua mảng bool này cho numpy.where ()
For example, get the indices of elements with value less than 16 and greater than 12 i.e.

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
2

Đầu ra:

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
3

Kết quả là một tuple của các mảng (một cho mỗi trục) chứa các chỉ số trong đó giá trị 15 tồn tại trong mảng mảng, tức là.

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
4

Vì mảng của chúng tôi là một mảng 1D phẳng, vì vậy tple được trả về sẽ chỉ chứa một mảng các chỉ số và nội dung & nbsp;

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
5

Nhận chỉ mục đầu tiên của phần tử có giá trị 15,

Tuple of arrays returned :  (array([ 4,  7, 11], dtype=int32),)
Elements with value 15 exists at following indices
[ 4  7 11]
6

Output:

Nó đã hoạt động như thế nào?
 

Làm thế nào để bạn tìm thấy chỉ số của một phần tử trong một mảng numpy trong Python?

Sử dụng hàm ndenumerate () để tìm chỉ số giá trị, nó thường được sử dụng để tìm sự xuất hiện đầu tiên của phần tử trong mảng numpy đã cho. to find the Index of value It is usually used to find the first occurrence of the element in the given numpy array.

Làm thế nào để bạn truy cập chỉ mục của một phần tử mảng trong Python?

Truy cập các phần tử mảng Mảng lập chỉ mục giống như truy cập một phần tử mảng.Bạn có thể truy cập một phần tử mảng bằng cách tham khảo số chỉ mục của nó.Các chỉ mục trong các mảng numpy bắt đầu bằng 0, nghĩa là phần tử thứ nhất có chỉ mục 0 và phần thứ hai có chỉ số 1, v.v.by referring to its index number. The indexes in NumPy arrays start with 0, meaning that the first element has index 0, and the second has index 1 etc.

Làm thế nào để bạn tìm thấy chỉ mục của một phần tử trong một mảng?

Để tìm vị trí của một phần tử trong một mảng, bạn sử dụng phương thức indexof ().Phương thức này trả về chỉ số của lần xuất hiện đầu tiên phần tử mà bạn muốn tìm hoặc -1 nếu không tìm thấy phần tử.use the indexOf() method. This method returns the index of the first occurrence the element that you want to find, or -1 if the element is not found.

Bạn có thể lập chỉ mục một mảng numpy không?

Lập chỉ mục có thể được thực hiện trong Numpy bằng cách sử dụng một mảng làm chỉ mục.Trong trường hợp lát cắt, một chế độ xem hoặc bản sao nông của mảng được trả về nhưng trong mảng chỉ mục, một bản sao của mảng gốc được trả về.Các mảng Numpy có thể được lập chỉ mục với các mảng khác hoặc bất kỳ chuỗi nào khác ngoại trừ các bộ dữ liệu.. In case of slice, a view or shallow copy of the array is returned but in index array a copy of the original array is returned. Numpy arrays can be indexed with other arrays or any other sequence with the exception of tuples.