Why DataFrame creation from ndarray record do not consist with other method, and how to overcome it
In my understanding, DataFrame(in the way how it's displayed) could be treated as a **transposed** SQL table. A row represents a 'property' and a column represents a record. It's clear and consistent in creation using `dict of Series or dicts` and `dict of ndarrays / lists`. As below

``` py
In [32]: d = {'user1':['Jean', 'Grey', 18, 'F'],
                   'user2':['Logan', 'Howlett', 33, 'M']}
In [34]: DataFrame(d, index=['firstname','lastname','age','gender'])
Out[34]: 
          user1    user2
firstname  Jean    Logan
lastname   Grey  Howlett
age          18       33
gender        F        M
```

However when creation using Structed ndarrary, it seems work the other way around, a row represent a record. As below.

``` py
In [45]: dtype=np.dtype([('firstname','U10'),('lastname','U10'),('age','int32'), ('gender', 'U1')])

In [46]: dt = np.array([('Jean','Grey',18,'F'),('Logan', 'Howlett', 33,'M')], dtype=dtype)

In [47]: DataFrame(dt)
Out[47]: 
  firstname lastname  age gender
0      Jean     Grey   18      F
1     Logan  Howlett   33      M
```

This is bugging me a lot, why is this(I'm guessing the internal store), but is there a way to overcome it?
