I am trying a very basic example in Python scipy module for transpose()
method but it's not giving expected result. I am using Ipython with pylab mode.
a = array([1,2,3] print a.shape >> (3,) b = a.transpose() print b.shape >> (3,)
If I print the contents of arrays "a" and "b", they are similar.
Expectation is: (which will be result in Matlab on transpose)
[1, 2, 3]
To transpose an array or matrix in NumPy, we have to use the T attribute that stores the transposed array or matrix. T attribute is exclusive to NumPy arrays, that is, ndarray only.
Matlab's "1D" arrays are 2D.) If you want to turn your 1D vector into a 2D array and then transpose it, just slice it with np. newaxis (or None , they're the same, newaxis is just more readable). Generally speaking though, you don't ever need to worry about this.
Use transpose(a, argsort(axes)) to invert the transposition of tensors when using the axes keyword argument. Transposing a 1-D array returns an unchanged view of the original array.
I guess what is meant is that . T and the transpose() call both return the transpose of the array. In fact, . T return the transpose of the array, while transpose is a more general method_ that can be given axes ( transpose(*axes) , with defaults that make the call transpose() equivalent to .
NumPy's transpose()
effectively reverses the shape of an array. If the array is one-dimensional, this means it has no effect.
In NumPy, the arrays
array([1, 2, 3])
and
array([1, 2, 3])
are actually the same – they only differ in whitespace. What you probably want are the corresponding two-dimensional arrays, for which transpose()
would work fine. Also consider using NumPy's matrix
type:
In [1]: numpy.matrix([1, 2, 3]) Out[1]: matrix([[1, 2, 3]]) In [2]: numpy.matrix([1, 2, 3]).T Out[2]: matrix([[1], [2], [3]])
Note that for most applications, the plain one-dimensional array would work fine as both a row or column vector, but when coming from Matlab, you might prefer using numpy.matrix
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With