Search code examples
pythonarraysnumpymultidimensional-arraynumpy-ndarray

What is the difference between ndarray and array in NumPy?


What is the difference between ndarray and array in NumPy? Where is their implementation in the NumPy source code?


Solution

  • numpy.array is just a convenience function to create an ndarray; it is not a class itself.

    You can also create an array using numpy.ndarray, but it is not the recommended way. From the docstring of numpy.ndarray:

    Arrays should be constructed using array, zeros or empty ... The parameters given here refer to a low-level method (ndarray(...)) for instantiating an array.

    Most of the meat of the implementation is in C code, here in multiarray, but you can start looking at the ndarray interfaces here:

    https://github.com/numpy/numpy/blob/master/numpy/core/numeric.py