# [Numpy-discussion] can int and float exists in one array?(about difference in indexing Matlab matrix and Numpy array)

Zhang Sam hollowspook at gmail.com
Mon Nov 27 07:59:41 CST 2006

```Hi, there

I  have a practical problem. For some reason, I hope int and float can exist
one array as shown in matlab code.
---------------------------------------------------------------------------
>> x = [2 2.5 3.5; 1 2.6 3.5]

x =

2.0000    2.5000    3.5000
1.0000    2.6000    3.5000

>> y = x(:,2)

y =

2.5000
2.6000

>> y(x(:,1))

ans =

2.6000
2.5000
------------------------------------------------------------------------------------

However in python with numpy, the similar code is as follows.
------------------------------------------------------------------------------------------
x = array([[2, 2.5, 3.5],[1, 2.6, 3.5]])
>>> x
array([[ 2. ,  2.5,  3.5],
[ 1. ,  2.6,  3.5]])
>>> y = x[:,1]
>>> y
array([ 2.5,  2.6])
>>> y.shape=2,1
>>> y
array([[ 2.5],
[ 2.6]])
>>> y[x[:,0],0]
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
IndexError: arrays used as indices must be of integer (or boolean) type
-----------------------------------------------------------------------------------------------------

MATLAB can treat the 1.0,2.00,......as int 1 2,.....
How to realize this matlab code in python? Maybe it exist a simple way.
Please show me .

Thanks in advance

Sam

BTW: I sent this mail to numpy-discussion at lists.sourceforge.net at first,
then I receive a mail which suggests me here. If it has already email that
here, I am very sorry about that.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20061127/458bc032/attachment.html
```

More information about the Numpy-discussion mailing list