The standard library of Python offers various data structures in its library like list, set, dictionary and others. These containers have their own advantages for them to be used in a Python program.
When it comes to scientific computing a container requires optimizations in terms of speed, ability to load very large datasets of multiple dimensions efficiently into memory and write back from memory are of paramount importance.
If such a container is coupled with several categories of functions that include linear algebra, statistics, logical comparisons, Fourier transform and many other mathematical functions – such a framework and its central data structure is much sought after and becomes the favourite computing library of the developer community.
NumPy ndarray satisfies all the above requirements and is the predominantly used data structure by the Python developers.
NumPy ndarrays are homogenous. They are optimized for loading large amount of data into memory for scientific computing.
NumPy arrays are multi-dimensional which is a necessary requirement for any domain - from financial applications to physics to astronomy.