numpy array operation

2013-01-29 Thread C. Ng
Is there a numpy operation that does the following to the array?

1 2  ==  4 3
3 4   2 1

Thanks in advance.


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: numpy array operation

2013-01-29 Thread Peter Otten
C. Ng wrote:

 Is there a numpy operation that does the following to the array?
 
 1 2  ==  4 3
 3 4   2 1

How about

 a
array([[1, 2],
   [3, 4]])
 a[::-1].transpose()[::-1].transpose()
array([[4, 3],
   [2, 1]])

Or did you mean

 a.reshape((4,))[::-1].reshape((2,2))
array([[4, 3],
   [2, 1]])

Or even

 -a + 5
array([[4, 3],
   [2, 1]])


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: numpy array operation

2013-01-29 Thread Tim Williams
On Tuesday, January 29, 2013 3:41:54 AM UTC-5, C. Ng wrote:
 Is there a numpy operation that does the following to the array?
 
 
 
 1 2  ==  4 3
 
 3 4   2 1
 
 
 
 Thanks in advance.

 import numpy as np
 a=np.array([[1,2],[3,4]])
 a
array([[1, 2],
   [3, 4]])
 np.fliplr(np.flipud(a))
array([[4, 3],
   [2, 1]])

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: numpy array operation

2013-01-29 Thread Alok Singhal
On Tue, 29 Jan 2013 00:41:54 -0800, C. Ng wrote:

 Is there a numpy operation that does the following to the array?
 
 1 2  ==  4 3
 3 4   2 1
 
 Thanks in advance.

How about:

 import numpy as np
 a = np.array([[1,2],[3,4]])
 a
array([[1, 2],
   [3, 4]])
 a[::-1, ::-1]
array([[4, 3],
   [2, 1]])
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: numpy array operation

2013-01-29 Thread Terry Reedy

On 1/29/2013 1:49 PM, Alok Singhal wrote:

On Tue, 29 Jan 2013 00:41:54 -0800, C. Ng wrote:


Is there a numpy operation that does the following to the array?

1 2  ==  4 3
3 4   2 1

Thanks in advance.


How about:


import numpy as np
a = np.array([[1,2],[3,4]])
a

array([[1, 2], [3, 4]])

a[::-1, ::-1]

array([[4, 3], [2, 1]])



Nice. The regular Python equivalent is

a = [[1,2],[3,4]]
print([row[::-1] for row in a[::-1]])

[[4, 3], [2, 1]]

The second slice can be replaced with reversed(a), which returns an 
iterator, to get

[row[::-1] for row in reversed(a)]
The first slice would have to be list(reversed(a)) to get the same result.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list