[Numpy-discussion] trim_zeros in more than one dimension?
Bruce Southey
bsouthey at gmail.com
Thu Apr 22 17:23:51 EDT 2010
On 04/21/2010 02:45 PM, Robert Kern wrote:
> On Wed, Apr 21, 2010 at 10:34, Bruce Southey<bsouthey at gmail.com> wrote:
>
>> On 04/21/2010 08:36 AM, Robert Kern wrote:
>>
>>> On Tue, Apr 20, 2010 at 18:45, Charles R Harris
>>> <charlesr.harris at gmail.com> wrote:
>>>
>>>
>>>> On Tue, Apr 20, 2010 at 7:03 AM, Andreas Hilboll<lists at hilboll.de> wrote:
>>>>
>>>>
>>>>> Hi there,
>>>>>
>>>>> is there an easy way to do something like trim_zeros() does, but for a
>>>>> n-dimensional array? I have a 2d array with only zeros in the first and
>>>>> last rows and columns, and would like to trim this array to only the
>>>>> non-zero part ...
>>>>>
>>>>>
>>>> I think for your application it would be easier to use a subarray, something
>>>> like a[1:-1, 1:-1].
>>>>
>>>>
>>> Yes, but I think he's asking for a function that will find the
>>> appropriate slices for him, justl like trim_zeros() does for 1D
>>> arrays.
>>>
>>>
>>>
>> If the sum of axis to be removed equals zero then you can conditionally
>> remove that axis.
>>
> No. Negative numbers can cancel out positive numbers.
>
>
In such cases you can use the sum of the absolute value of the array or
the sum of a suitability constructed boolean indicator for the selected
axis. In the case of floating point dtypes, compare it to a value near
zero rather than exactly zero.
Bruce
More information about the NumPy-Discussion
mailing list