[Numpy-discussion] How to get the shape of an array slice without doing it
Fri Jan 29 12:16:41 CST 2010
On Fri, Jan 29, 2010 at 12:32 PM, David Huard <firstname.lastname@example.org> wrote:
> On Fri, Jan 29, 2010 at 12:10 PM, <email@example.com> wrote:
>> On Fri, Jan 29, 2010 at 11:49 AM, David Huard <firstname.lastname@example.org> wrote:
>>> I have a 4D "array" with a given shape, but the array is never
>>> actually created since it is large and distributed over multiple
>>> binary files. Typical usage would be to take slices across the 4D
>>> I'd like to know what the shape of the resulting array would be if I
>>> took a slice out of it.
>>> That is, let's say my 4D array is A, I'd like to know
>>> without actually creating A.
>>> ndindex should support all numpy constructions (integer, boolean,
>>> array, slice, ...). I am guessing something already exists to do this,
>>> but I just can't put my finger on it.
>> trying out some things, just because it's a puzzling question
>>>>> indi= (slice(2,5), np.arange(2), np.arange(3)[:,None])
>> (3, 2)
>> I don't know if this is ok for all possible cases, (and there are some
>> confusing things with reordering axis, when slices and fancy indexing
>> is mixed)
> Hi josef,
> Where then do you specify the shape of the A array ? Maybe an example
> would be clearer:
> Let's say A's shape is (10, 1, 5, 20)
> and the index is [::2, ..., 0]
> A[::2, ..., 0] shape would be (5, 1, 5)
> The broadcast idea has potential, I'll toy with it.
broadcast doesn't work as easily as I thought, the dimension to
broadcast to, would have to be the same as the original array. I just
struggled with something similar for my attempted rewrite for
stats.nanmedian, and I think it took me a day to get the axis right.
Maybe someone has a better idea.
>>> NumPy-Discussion mailing list
>> NumPy-Discussion mailing list
> NumPy-Discussion mailing list
More information about the NumPy-Discussion