Самый эффективный способ удалить ряд строк из DenseMatrix?

Я хочу удалить строки с M+1 по N в DenseMatrix (DM_a ниже), чтобы создать еще одну DenseMatrix (DM_b). Что-то вроде этого:

                               K
DM_a =   0 +-------------------+
           |                   |
           |                   |
           |                   |
         M |                   |
           |                   |
           |                   |
           |                   |
         N +-------------------+



                               K
DM_b =   0 +-------------------+
           |                   |
           |                   |
           |                   |
         M +-------------------+

Лучше (наиболее эффективно) сделать это с помощью такой нарезки: val DM_b = DM_a(0 to M, ::) или мне следует сопоставить padRight с каждым столбцом DM_a?


person Chuck Wooters    schedule 04.05.2016    source источник


Ответы (1)


срез матрицы:

  DM_a(0 until M, ::)
person dlwh    schedule 04.05.2016
comment
Потрясающе, спасибо! Итак, в чем разница между версиями среза to и until? - person Chuck Wooters; 05.05.2016
comment
to является инклюзивным, пока не является эксклюзивным (обратите внимание, что параметры среза — это просто объекты scala.Range) - person dlwh; 05.05.2016
comment
А, понятно, спасибо. Итак, не хотел бы я 0 to M, так как я хотел удалить строки, начинающиеся со строки M+1? Или же, я думаю, мне понадобится 0 until M+1, верно? - person Chuck Wooters; 05.05.2016