select first column in a 3d ndarray
Question:
I got a simple question for python.
Instead of iterating over the first line for a 3D ndarray
, I want to select the whole column.
So lets say:instead of:
print test[0][20][33]
print test[1][20][33]
...
I want to put something like:
print test[:][20][33]
But this does not work. How do I do it?
Answers:
Put all the terms inside the square brackets:
>>> import numpy as np
>>> v = np.array(np.arange(24)).reshape(2,3,4)
>>> v
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
>>> v[:, 1, 3]
array([ 7, 19])
.. although I’m not sure I’d call that the first column. You can easily shuffle the indices to get whatever you’re after, though:
>>> v[0, :, 0]
array([0, 4, 8])
>>> v[1, 1, :]
array([16, 17, 18, 19])
I got a simple question for python.
Instead of iterating over the first line for a 3D ndarray
, I want to select the whole column.
So lets say:instead of:
print test[0][20][33]
print test[1][20][33]
...
I want to put something like:
print test[:][20][33]
But this does not work. How do I do it?
Put all the terms inside the square brackets:
>>> import numpy as np
>>> v = np.array(np.arange(24)).reshape(2,3,4)
>>> v
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
>>> v[:, 1, 3]
array([ 7, 19])
.. although I’m not sure I’d call that the first column. You can easily shuffle the indices to get whatever you’re after, though:
>>> v[0, :, 0]
array([0, 4, 8])
>>> v[1, 1, :]
array([16, 17, 18, 19])