[Numpy-discussion] Binning

Adrien adnothing at gmail.com
Thu Dec 22 11:39:57 EST 2011


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! :-)

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




More information about the NumPy-Discussion mailing list