Как вызвать элемент в массиве numpy? Это очень простой вопрос, но я не нашел ответа. Как вызвать элемент в массиве numpy? import numpy as np arr = np.array([[1,2,3,4,5],[6,7,8,9,10]]) print arr(0,0) Приведенный выше код не работает. Ответ 1 Вместо этого используйте квадратные скобки: print arr[1,1] Ответ 2 TL; DR: Использование slicing: >>> import numpy as np >>> >>> arr = np.array([[1,2,3,4,5],[6,7,8,9,10]]) >>> >>> arr[0,0] 1 >>> arr[1,1] 7 >>> arr[1,0] 6 >>> arr[1,-1] 10 >>> arr[1,-2] 9 В Long: Надеюсь, это поможет в вашем понимании: >>> import numpy as np >>> np.array([ [1,2,3], [4,5,6] ]) array([[1, 2, 3], [4, 5, 6]]) >>> x = np.array([ [1,2,3], [4,5,6] ]) >>> x[1][2] # 2nd row, 3rd column 6 >>> x[1,2] # Similarly 6 Но чтобы понять, почему slicing полезен в следующих размерах: >>> np.array([ [[1,2,3], [4,5,6]], [[7,8,9],[10,11,12]] ]) array([[[ 1, 2, 3], [ 4, 5, 6]], [[ 7, 8, 9], [10, 11, 12]]]) >>> x = np.array([ [[1,2,3], [4,5,6]], [[7,8,9],[10,11,12]] ]) >>> x[1][0][2] # 2nd matrix, 1st row, 3rd column 9 >>> x[1,0,2] # Similarly 9 >>> x[1][0:2][2] # 2nd matrix, 1st row, 3rd column Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: index 2 is out of bounds for axis 0 with size 2 >>> x[1, 0:2, 2] # 2nd matrix, 1st and 2nd row, 3rd column array([ 9, 12]) >>> x[1, 0:2, 1:3] # 2nd matrix, 1st and 2nd row, 2nd and 3rd column array([[ 8, 9], [11, 12]])
Ответ 2 TL; DR: Использование slicing: >>> import numpy as np >>> >>> arr = np.array([[1,2,3,4,5],[6,7,8,9,10]]) >>> >>> arr[0,0] 1 >>> arr[1,1] 7 >>> arr[1,0] 6 >>> arr[1,-1] 10 >>> arr[1,-2] 9 В Long: Надеюсь, это поможет в вашем понимании: >>> import numpy as np >>> np.array([ [1,2,3], [4,5,6] ]) array([[1, 2, 3], [4, 5, 6]]) >>> x = np.array([ [1,2,3], [4,5,6] ]) >>> x[1][2] # 2nd row, 3rd column 6 >>> x[1,2] # Similarly 6 Но чтобы понять, почему slicing полезен в следующих размерах: >>> np.array([ [[1,2,3], [4,5,6]], [[7,8,9],[10,11,12]] ]) array([[[ 1, 2, 3], [ 4, 5, 6]], [[ 7, 8, 9], [10, 11, 12]]]) >>> x = np.array([ [[1,2,3], [4,5,6]], [[7,8,9],[10,11,12]] ]) >>> x[1][0][2] # 2nd matrix, 1st row, 3rd column 9 >>> x[1,0,2] # Similarly 9 >>> x[1][0:2][2] # 2nd matrix, 1st row, 3rd column Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: index 2 is out of bounds for axis 0 with size 2 >>> x[1, 0:2, 2] # 2nd matrix, 1st and 2nd row, 3rd column array([ 9, 12]) >>> x[1, 0:2, 1:3] # 2nd matrix, 1st and 2nd row, 2nd and 3rd column array([[ 8, 9], [11, 12]])