What is the difference between ndarray and array in NumPy?
arrays, multidimensional-array, numpy, numpy-ndarray, python
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
Problem
What is the difference between `ndarray` and `array` in NumPy? Where is their implementation in the NumPy source code?