Фильтрация строк по значению столбца
У меня есть этот простой d-fn в Dyalog:
{⍺,≢⍵} ⌸ 'koala'
, который возвращает:
k 1
o 1
a 2
l 1
Я хочу отфильтровать строки из результирующего массива, чтобы (например, для значения фильтра =2) я получил:
a 2
l 1
В общем, я хотел бы знать, как работать с n-м столбцом 2D-массива в APL.
1 ответ
Решение
Ваш ожидаемый ответ также показывает, что вы хотели бы видеть строку с l/1 - это правильно?
Предполагая, что вы действительно после строк, где 2-й столбец =2, вы можете фильтровать с другим dfn:
{(⍵[;2]=2)⌿⍵}{⍺,≢⍵} ⌸ 'koala'
a 2
Что касается общей части вопроса, я надеюсь, что использование индексации [;2]
отвечает на вопрос, иначе мне понадобится еще несколько слов;-)