c_[start:end:step]
c_[x1, x2, x3, … ]
Este comando oferece uma sintaxe conveniente e simples para a criação de arranjos, baseado na sintaxe de slices do Python e também na concatenação de diversos arranjos. Há uma semelhança muito grande entre este comando e o comando r_ , sendo a diferença mais notável o fato de, com este comando, a concatenação de arranjos ser feita ao longo das colunas, ao invés das linhas. Existem diversos usos diferentes para esse comando. Os argumentos especificados no cabeçalho são descritos abaixo:
- start
- Este argumento indica o início do intervalo.
- end
- Indica o final do intervalo. O último valor não é incluído no arranjo resultante, exceto se um arranjo linear for criado (ver abaixo).
- step
- Intervalo entre os elementos do arranjo. Se step for um valor complexo, um arranjo linear é criado, e este argumento é interpretado como o número de pontos entre start e end (incluindo os extremos).
- x1, x2, x3, …
- Diversos arranjos que serão concatenados para formar o novo arranjo.
É importante lembrar que, para que a concatenação de arranjos seja feita de forma adequada, é necessário que as dimensões sejam coerentes. Uma vez que as concatenações são feitas ao longo do eixo secundáriol (ie.: como linhas), todos os arranjos precisam ter o mesmo número de colunas.
O tipo numérico dos elementos dos arranjos ou matrizes criados vai depender do tipo usado como base. Como padrão, será o mais simples tipo capaz de representar os dados resultantes.
Veja também:
array() , arange() , linspace() , r_
Exemplos:
Nestes exemplos, consideraremos que o módulo numpy foi carregado com a linha de comando from numpy import *. Se você fizer a importação de maneira diferente, não se esqueça de especificar o espaço de nomes sendo utilizado. Estes exemplos podem ser testados diretamente na linha de comando.
O método mais simples de utilizar o comando c_ é como uma especificação de um intervalo. Se desejamos um arranjo contendo o intervalo entre -5 e 5, excluindo o último, com espaçamento entre os elementos de 0.5, fazemos:
>>> c_[-5:5:0.5] array([[-5. ], [-4.5], [-4. ], (...) [ 4. ], [ 4.5]])
Omitimos aqui a saída completa do comando. Para a criação de um arranjo linear, incluindo as extremidades, usamos
>>> c_[-5:5:11j] array([[-5.], [-4.], (...) [ 4.], [ 5.]])
Note que o argumento step foi especificado como um número complexo (seguido de j), por isso a diferença no resultado. (Usar um número complexo para representar o número de pontos não é exatamente intuitivo, mas existe pouca escolha neste caso, e esta foi a convenção adotada pelos criadores do NumPy).
Para concatenarmos arranjos, usamos a sintaxe abaixo, lembrando que é necessária a concordância entre as dimensões. Note a posição final de cada um dos elementos dos arranjos originais:
>>> c_[(1, 2, 3), array((4, 5, 6))] array([[1, 4], [2, 5], [3, 6]])