# [Numpy-discussion] How to Keep An Array Two Dimensional

Tom Bennett tom.bennett at mail.zyzhu.net
Sun Nov 25 21:47:18 EST 2012

```Thanks for the quick response.

Ah, I see. There is a difference between A[:,:1] and A[:,0]. The former
returns an Mx1 2D array whereas the latter returns an M element 1D array. I
was using A[:,0] in the code but A[:,:1] in the example.

On Sun, Nov 25, 2012 at 8:35 PM, Warren Weckesser <
warren.weckesser at gmail.com> wrote:

>
>
> On Sun, Nov 25, 2012 at 8:24 PM, Tom Bennett <tom.bennett at mail.zyzhu.net>wrote:
>
>> Hi,
>>
>> I am trying to extract n columns from an 2D array and then operate on the
>> extracted columns. Below is the code:
>>
>> A is an MxN 2D array.
>>
>> u = A[:,:n] #extract the first n columns from A
>>
>> B = np.dot(u, u.T) #take outer product.
>>
>> This code works when n>1. However, when n=1, u becomes an 1D array
>> instead of an Mx1 2D array and the code breaks down.
>>
>> I wonder if there is any way to keep u=A[:,:n] an Mxn array no matter
>> what value n takes. I do not want to use matrix because array is more
>> convenient in other places.
>>
>>
> Tom,
>
> Your example works for me:
>
> In [1]: np.__version__
> Out[1]: '1.6.2'
>
> In [2]: A = arange(15).reshape(3,5)
>
> In [3]: A
> Out[3]:
> array([[ 0,  1,  2,  3,  4],
>        [ 5,  6,  7,  8,  9],
>        [10, 11, 12, 13, 14]])
>
> In [4]: u = A[:,:1]
>
> In [5]: u
> Out[5]:
> array([[ 0],
>        [ 5],
>        [10]])
>
> In [6]: B = np.dot(u, u.T)
>
> In [7]: B
> Out[7]:
> array([[  0,   0,   0],
>        [  0,  25,  50],
>        [  0,  50, 100]])
>
>
>
> Warren
>
>
>
>> Thanks,
>> Tom
>>
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20121125/bd94ba99/attachment.html>
```

More information about the NumPy-Discussion mailing list