### Navigation

- index
- modules |
- modules |
- next |
- previous |
- NumPy v1.7 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Array manipulation routines »

# numpy.ravel

`numpy.``ravel`(a, order='C')

  Return a flattened array.

  A 1-D array, containing the elements of the input, is returned. A copy is made only if needed.

  Parameters : | a : array_like Input array. The elements in `a` are read in the order specified by order, and packed as a 1-D array. order : {‘C’,’F’, ‘A’, ‘K’}, optional The elements of `a` are read in this order. ‘C’ means to view the elements in C (row-major) order. ‘F’ means to view the elements in Fortran (column-major) order. ‘A’ means to view the elements in ‘F’ order if a is Fortran contiguous, ‘C’ order otherwise. ‘K’ means to view the elements in the order they occur in memory, except for reversing the data when strides are negative. By default, ‘C’ order is used.
  Returns : | 1d_array : ndarray Output of the same dtype as a, and of shape `(a.size(),)`.

  See also

  `ndarray.flat`
    1-D iterator over an array.
  `ndarray.flatten`
    1-D array copy of the elements of an array in row-major order.

  Notes

  In row-major order, the row index varies the slowest, and the column index the quickest. This can be generalized to multiple dimensions, where row-major order implies that the index along the first axis varies slowest, and the index along the last quickest. The opposite holds for Fortran-, or column-major, mode.

  Examples

  It is equivalent to `reshape(-1, order=order)`.

      >>> x = np.array([[1, 2, 3], [4, 5, 6]])
      >>> print np.ravel(x)
      [1 2 3 4 5 6]

      >>> print x.reshape(-1)
      [1 2 3 4 5 6]

      >>> print np.ravel(x, order='F')
      [1 4 2 5 3 6]

  When `order` is ‘A’, it will preserve the array’s ‘C’ or ‘F’ ordering:

      >>> print np.ravel(x.T)
      [1 4 2 5 3 6]
      >>> print np.ravel(x.T, order='A')
      [1 2 3 4 5 6]

  When `order` is ‘K’, it will preserve orderings that are neither ‘C’ nor ‘F’, but won’t reverse axes:

      >>> a = np.arange(3)[::-1]; a
      array([2, 1, 0])
      >>> a.ravel(order='C')
      array([2, 1, 0])
      >>> a.ravel(order='K')
      array([2, 1, 0])

      >>> a = np.arange(12).reshape(2,3,2).swapaxes(1,2); a
      array([[[ 0,  2,  4],
              [ 1,  3,  5]],
             [[ 6,  8, 10],
              [ 7,  9, 11]]])
      >>> a.ravel(order='C')
      array([ 0,  2,  4,  1,  3,  5,  6,  8, 10,  7,  9, 11])
      >>> a.ravel(order='K')
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- NumPy v1.7 Manual (DRAFT) »
- NumPy Reference »
- Routines »
- Array manipulation routines »