Dada uma lista de 0s e 1s, digamos que l: 0 0 1 1 1 0 0 1 1
eu gostaria de obter uma sequência começando com 1 para cada conjunto contíguo de 1s. Portanto, a saída necessária deve ser l: 0 0 1 2 3 0 0 1 2
. Como posso conseguir isso no kdb+?
relate perguntas
-
kdb/Q Como atualizar uma única linha na tabela?
-
qual é a utilidade do comando -1 em uma função no kdb
-
Onde estão as informações de atributos armazenadas para tabela particionada em kdb
-
Como converter uma lista de símbolos em strings e depois dividir por um delimitador
-
Iterando sobre um diretório dentro de q e atribuindo o caminho/nomes do arquivo a uma variável
Você pode usar
scan
:Existe um atalho integrado para esse tipo de tarefa (embora funcione apenas para floats)
veja https://code.kx.com/q/ref/accumulators/#alternative-syntax
Foi projetado principalmente para cálculos de média móvel exponencial