[Numpy-discussion] Binning

josef.pktd at gmail.com josef.pktd at gmail.com
Thu Dec 22 16:45:24 EST 2011


On Thu, Dec 22, 2011 at 11:39 AM, Adrien <adnothing at gmail.com> wrote:
> Le 22/12/2011 17:17, josef.pktd at gmail.com a écrit :
>> On Thu, Dec 22, 2011 at 6:27 AM, Adrien Gaidon<adnothing at gmail.com>  wrote:
>>> Hello Nicola,
>>>
>>> I am not aware of a magical "one function" numpy solution (is there one
>>> numpy gurus?).
>>>
>>> I don't know if it's optimal, but here's how I usually do similar things.
>>>
>>> I wrote a simple function that assigns points (any number of dimensions) to
>>> a regular multi-dimensional grid. It is
>>> here: https://gist.github.com/1509853 It is short, commented and should be
>>> straightforward to use.
>>>
>>> Once you have the assignments, you can:
>>> - get the non-empty cell indexes with `np.unique(assignments)`
>>> - retrieve the points assigned to a cell with `points[assignments ==
>>> cell_index]`
>>> - iterate over assignments to select the points you want for each cell.
>> looks nice, reading through it.
>> line 71 looks like a nice trick
>>
>> BSD licensed, so we can keep it?
>
> Off course! :-)

with numpy 1.5 compatibility, if I did it right (reverse engineering
ravel_multi_index which I never used)

https://gist.github.com/1511969/222e3316048bce5763b1004331af898088ffcd9e

Josef

> Cheers,
>
> Adrien
>
>> as far as I know numpy doesn't have anything like a digitize_nd
>>
>> Thanks,
>>
>> Josef
>>
>>> Hope this helps,
>>>
>>> Adrien
>>>
>>> PS: This is one of the first times I post an answer on this list, so if I
>>> did anything wrong, let me know. Numpy is such a wonderful thing and you
>>> guys do such an amazing work, that I though it is time to give back at least
>>> epsilon of what I got from you :-)
>>>
>>>
>>> 2011/12/22 Nicola Creati<ncreati at inogs.it>
>>>> Hello,
>>>>
>>>> I have a cloud on sparse points that can be described by a Nx3 array (N
>>>> is the number of points). Each point is defined by an x, y and z
>>>> coordinate:
>>>>
>>>> x0 y0 z0
>>>> x1 y1 z1
>>>>    .    .    .
>>>>    .    .    .
>>>>    .    .    .
>>>> xn yn zn
>>>>
>>>>
>>>> I need to bin the cloud to a regular 2D array according to a desired bin
>>>> size assigning to each cell (bin) the minimum z of all points that fall
>>>> in that cell(bin). Moreover I need indexes of points that fall in each
>>>> cell(bin).
>>>>
>>>> Is there any way to accomplish this task in numpy?
>>>>
>>>> Thanks.
>>>>
>>>> Nicola Creati
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Nicola Creati
>>>> Istituto Nazionale di Oceanografia e di Geofisica Sperimentale - OGS
>>>> www.inogs.it Dipartimento di Geofisica della Litosfera Geophysics of
>>>> Lithosphere Department CARS (Cartography and Remote Sensing) Research Group
>>>> http://www.inogs.it/Cars/ Borgo Grotta Gigante 42/c 34010 Sgonico - Trieste
>>>> - ITALY ncreati at ogs.trieste.it
>>>> off.   +39 040 2140 213
>>>> fax.   +39 040 327307
>>>>
>>>> _____________________________________________________________________
>>>> This communication, that may contain confidential and/or legally
>>>> privileged information, is intended solely for the use of the intended
>>>> addressees. Opinions, conclusions and other information contained in this
>>>> message, that do not relate to the official business of OGS, shall be
>>>> considered as not given or endorsed by it. Every opinion or advice contained
>>>> in this communication is subject to the terms and conditions provided by the
>>>> agreement governing the engagement with such a client. Any use, disclosure,
>>>> copying or distribution of the contents of this communication by a
>>>> not-intended recipient or in violation of the purposes of this communication
>>>> is strictly prohibited and may be unlawful. For Italy only: Ai sensi del
>>>> D.Lgs.196/2003 - "T.U. sulla Privacy" si precisa che le informazioni
>>>> contenute in questo messaggio sono riservate ed a uso esclusivo del
>>>> destinatario.
>>>> _____________________________________________________________________
>>>>
>>>> _______________________________________________
>>>> NumPy-Discussion mailing list
>>>> NumPy-Discussion at scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>>
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion



More information about the NumPy-Discussion mailing list