[Numpy-discussion] Howto create a record array from arrays without copying their data

josef.pktd at gmail.com josef.pktd at gmail.com
Wed Aug 12 12:00:01 EDT 2009


On Wed, Aug 12, 2009 at 11:28 AM, Ryan May<rmay31 at gmail.com> wrote:
> On Wed, Aug 12, 2009 at 10:22 AM, Ralph Heinkel <ralph at dont-mind.de> wrote:
>>
>> Hi,
>>
>> I'm creating (actually calculating) a set of very large 1-d arrays
>> (vectors), which I would like to assemble into a record array so I can
>> access the data row-wise.  Unfortunately it seems that all data of my
>> original 1-d arrays are getting copied in memory during that process.
>> Is there a way to get around that?
>
> I don't think so, because fundamentally numpy assumes array elements are
> packed together in memory.  If you know C, record arrays are pretty much
> arrays of structures.  You could try just using a python dictionary to hold
> the arrays, depending on you motives behind using a record array.
>
> Ryan
>

Can you preallocate the record array and fill it up as you calculate
the values? You can use the reference to the recarray columns.

I never tried with recarrays.

Josef



More information about the NumPy-Discussion mailing list