Behavior of ndarray.data for views in numpy

后端 未结 2 944
慢半拍i
慢半拍i 2021-01-22 20:02

I am trying to understand the meaning of ndarray.data field in numpy (see memory layout section of the reference page on N-dimensional arrays), especially for views

2条回答
  •  暖寄归人
    2021-01-22 20:36

    Generally the number displayed by x.data isn't meant to be used by you. x.data is the buffer, which can be used in other contexts that expect a buffer.

    np.frombuffer(x.data,dtype=float)
    

    replicates your x.

    np.frombuffer(x[3:].data,dtype=float)
    

    this replicates x[3:]. But from Python you can't take x.data, add 192 bits (3*8*8) to it, and expect to get x[3:].

    I often use the __array_interface__['data'] value to check whether two variables share a data buffer, but I don't use that number for any thing. These are informative numbers, not working values.

    I recently explored this in

    Creating a NumPy array directly from __array_interface__

提交回复
热议问题