2012-06-05 12 views
22

Parece ser una especie de concatenación horizontal, pero no pude encontrar ninguna documentación en línea. Aquí un ejemplo de trabajo mínima: ? sintaxis de¿Qué hace exactamente la expresión de subrayado c `c_`?

In [1]: from numpy import c_ 
In [2]: a = ones(4) 
In [3]: b = zeros((4,10))  
In [4]: c_[a,b] 
Out[4]: 
array([[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], 
     [ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], 
     [ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], 
     [ 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]) 
+6

consejo: En IPython, puede usar '' para obtener más información sobre cualquier objeto?. Intenta ejecutar 'c_?'. –

+0

@ThomasK, gracias, eso era lo que necesitaba. do_? me proporcionó toda la información. ¿Puedes publicar una respuesta para poder seleccionarla? – Framester

+0

La referencia más simple es el manual numpy: http://docs.scipy.org/doc/numpy/reference/generated/numpy.c_.html (para todos los que trabajan sin IPython). – strpeter

Respuesta

24

Uso IPython para obtener más información:

In [2]: c_? 
Type:  CClass 
Base Class: <class 'numpy.lib.index_tricks.CClass'> 
String Form:<numpy.lib.index_tricks.CClass object at 0x9a848cc> 
Namespace: Interactive 
Length:  0 
File:  /usr/lib/python2.7/dist-packages/numpy/lib/index_tricks.py 
Docstring: 
Translates slice objects to concatenation along the second axis. 

This is short-hand for ``np.r_['-1,2,0', index expression]``, which is 
useful because of its common occurrence. In particular, arrays will be 
stacked along their last axis after being upgraded to at least 2-D with 
1's post-pended to the shape (column vectors made out of 1-D arrays). 

For detailed documentation, see `r_`. 

Examples 
-------- 
>>> np.c_[np.array([[1,2,3]]), 0, 0, np.array([[4,5,6]])] 
array([[1, 2, 3, 0, 0, 4, 5, 6]]) 
+0

hombre Ni siquiera puedo adivinar cuántas veces conocer a este simple '?' Anterior hubiera ahorrado tiempo. – javadba

2

en realidad no es una función, es un objeto de la clase CClass.

it is "not a function, so takes no parameters 

Above es lo que dice el documento oficial. puedes verificar esta pregunta para más detalles.

numpy.r_ is not a function. What is it?

Cuestiones relacionadas