I couldn't have the transpose of this array in python.

Hi there;

Can you check and help me why I cannot have the transpose of this array?

http://sudrap.org/paste/text/137636/

Kind regards.
LVL 12
jazzIIIloveAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
peprConnect With a Mentor Commented:
The matrix transposition means to reorganize a 2-dimensional matrix to the other 2D matrix so that rows become columns.  The 2D matrix is expressed as a list of rows where row is also a list.  Giving the array() only one list, you create only one-dimensional array where you cannot say if it is a column or a row.  Try the following:
c:\tmp\_Python\jazzIIIlove>py26
Python 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> a = numpy.array([[1, 2, 3],
...                 [11, 22, 33]])
>>> a
array([[ 1,  2,  3],
       [11, 22, 33]])
>>> b = a.transpose()
>>> b
array([[ 1, 11],
       [ 2, 22],
       [ 3, 33]])
>>>

Open in new window


You can see here that two rows were transposed to three rows.
0
 
Hamed ZaghaghiConnect With a Mentor ProgrammerCommented:
Hi,
instead of
a = numpy.arange(10)
use
a = numpy.arange(10).reshape(1,10)

so you have a 2D array.
0
 
peprConnect With a Mentor Commented:
Good idea by zaghaghi!  Think also about the fact that arange() is only one way of creating an array filled by certain values.  You can directly define the array with your values via numpy.array() -- double the brackets to express 2D array with one row.  Here it is illustrated both the zaghaghi's way and manually typed:
>>> import numpy
>>> a = numpy.arange(10).reshape(1,10)
>>> a
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
>>> b = numpy.array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
>>> b
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
>>> t = a.transpose()
>>> t
array([[0],
       [1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])

Open in new window

The a and b are the same initially.
0
All Courses

From novice to tech pro — start learning today.