Solved

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

Posted on 2012-04-13
3
548 Views
Last Modified: 2012-04-16
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.
0
Comment
Question by:jazzIIIlove
  • 2
3 Comments
 
LVL 28

Accepted Solution

by:
pepr earned 333 total points
ID: 37844789
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
 
LVL 9

Assisted Solution

by:zaghaghi
zaghaghi earned 167 total points
ID: 37844861
Hi,
instead of
a = numpy.arange(10)
use
a = numpy.arange(10).reshape(1,10)

so you have a 2D array.
0
 
LVL 28

Assisted Solution

by:pepr
pepr earned 333 total points
ID: 37845816
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to Win a Jar of Candy Corn: A Scientific Approach! I love mathematics. If you love mathematics also, you may enjoy this tip on how to use math to win your own jar of candy corn and to impress your friends. As I said, I love math, but I gu…
Foreword (May 2015) This web page has appeared at Google.  It's definitely worth considering! https://www.google.com/about/careers/students/guide-to-technical-development.html How to Know You are Making a Difference at EE In August, 2013, one …
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…
This is a video describing the growing solar energy use in Utah. This is a topic that greatly interests me and so I decided to produce a video about it.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now