I have a memoryview
on a numpy
array and want to copy the content of another numpy
array into it by using this memoryview
:
import numpy as np
cimport numpy as np
cdef double[:,::1] test = np.array([[0,1],[2,3]], dtype=np.double)
test[...] = np.array([[4,5],[6,7]], dtype=np.double)
But why is this not possible? It keeps me telling
TypeError: only length-1 arrays can be converted to Python scalars Blockquote
It works fine if I copy from a memoryview
to a memoryview
, or from a numpy
array to a numpy
array, but how to copy from a numpy
array to a memoryview
?
These assignments work:
displaying
I've added an answer at https://stackoverflow.com/a/30418422/901925 that uses this memoryview 'buffer' approach in a indented context.
It doesn't perform the copy-less buffer assignment that the other poster wanted, but it is still an efficient memoryview copy.