#python #arrays #numpy #matrix #2d
Вопрос:
Я просто хочу проверить, почему я не могу напечатать все элементы в матрице?
насколько мне известно, именно так мы пишем индекс этой матрицы
неужели я неправильно это понял?
единственное, что печатают, — это
пожалуйста, помогите мне понять больше о 2D-массиве в matrix python. Спасибо
Комментарии:
1. Примечание по форматированию — включение фактического текста вашего кода и сообщений об ошибках гораздо полезнее, чем скриншоты, поскольку это делает текст доступным для поиска.
2. Пожалуйста, не публикуйте изображения кода, данных или обратных ссылок. Скопируйте и вставьте их в виде текста, а затем отформатируйте в виде кода.
3.
row zero column 1 -> a[0,1]
;row one column 2 -> a[1,2]
; numpy.org/doc/stable/user/basics.indexing.html
Ответ №1:
x[[0,1], [3,2] ]
выбирает 2 пункта, x[0,3]
и x[1,2]
x[ [[0],[1]], [3,2] ]
выбирает блок (2,2). из строк 0 и 1 и столбцов 3 и 2.
Прочитайте больше об индексировании numpy, особенно advanced
.
Редактировать
In [190]: wt = np.array([[1,2,3,4],[1.1,2.2,3.3,4.4]])
In [191]: wt
Out[191]:
array([[1. , 2. , 3. , 4. ],
[1.1, 2.2, 3.3, 4.4]])
ваш первый отпечаток:
In [192]: wt[[0,0],[1,0]]
Out[192]: array([2., 1.])
это то же самое, что:
In [193]: wt[0,1],wt[0,0]
Out[193]: (2.0, 1.0)
Первый список [0,0]
-это строки индексирования; вторые [1,0]
столбцы.
первая и вторая строки:
In [194]: wt[0]
Out[194]: array([1., 2., 3., 4.])
In [195]: wt[1]
Out[195]: array([1.1, 2.2, 3.3, 4.4])
другой способ выбрать первую строку:
In [196]: wt[0,[0,1,2,3]]
Out[196]: array([1., 2., 3., 4.])
первая колонка:
In [197]: wt[[0,1],0]
Out[197]: array([1. , 1.1])
In [198]: wt[:,0]
Out[198]: array([1. , 1.1])
In [199]: wt[:,[0]] # as a 2d array
Out[199]:
array([[1. ],
[1.1]])
https://numpy.org/doc/stable/reference/arrays.indexing.html#advanced-indexing
документирует этот вид индексирования.
Комментарии:
1. Извините, но я не понял, что вы имеете в виду 🙁
2. Я добавил несколько примеров, более близких к тому, что вы пытались сделать.
3. спасибо, теперь я понимаю , что это «первый список [0,0] индексирует строки; вторые [1,0] столбцы». это очень полезно… Я просто пытался напечатать 1 с 1.1 , 2 с 2.2 , 3 с 3.3 и 4 с 4.4….. как в [1,1.1], [2,2.2], [3,3.3] и [4,4.4]