На StackOverflow есть множество вопросов о том, как работает синтаксис запятой, но большинство из них относятся к m[:,n]
, который относится к столбцу nth
. Аналогично, m[n,:]
относится к строке nth
. Я обнаружил, что этот метод нарезки используется в лабораториях по специализации машинного обучения Эндрю Нг. Но есть ли у этой нарезки какое-то преимущество перед m[n]
?
(Я имел в виду второе m[n, :]
значит у вас минимум 2D)
Хотя ведущие :,
необходимы для определения индексации «столбца», конечные :
не являются обязательными. Я думаю numpy
заполнить их по мере необходимости. ...
(многоточие) иногда тоже полезно.
Для массива с двумя или более измерениями m[n]
и m[n, :]
идентичны. Первое можно считать сокращением второго.
Для массива с 1 измерением m[n]
вернет элемент n
, а m[n, :]
приведет к ошибке.
Лично я бы выбрал m[n, :]
в некоторых случаях, чтобы сделать код более удобочитаемым: например, когда вы знаете, что m
двумерен, то m[n, :]
сразу подразумевает это для читателя, тогда как m[n]
может заставить его гадать, m
это 1D или 2D.
В массивах numpy m[:, n] обращается к определенному столбцу, обеспечивая гибкость для операций, ориентированных на столбцы.
Я считаю это особенно полезным в задачах машинного обучения для эффективного манипулирования данными и выбора функций.
Чтобы разрезать значение,
m[n]
иm[n, :]
эквивалентны. Первый, возможно, более явный: он предполагает, что у вас есть как минимум два измерения.