Conceived in the late 1980s as a teaching and scripting language, Python has since become an essential tool for many programmers, engineers, researchers, and data scientists across academia and industry. As an astronomer focused on building and promoting the free open tools for data-intensive science, I’ve found Python to be a near-perfect fit for the types of problems I face day to day, whether it’s extracting meaning from large astronomical datasets, scraping and munging data sources from the Web, or automating day-to-day research tasks.
The appeal of Python is in its simplicity and beauty, as well as the convenience of the large ecosystem of domain-specific tools that have been built on top of it. For example, most of the Python code in scientific computing and data science is built around a group of mature and useful packages:
NumPy provides efficient storage and computation for multidimensional data arrays.
SciPy contains a wide array of numerical tools such as numerical integration and interpolation.
Pandas provides a DataFrame object along with a powerful set of methods to manipulate, filter, group, and transform data.
Matplotlib provides a useful interface for creation of publication-quality plots and figures.
Scikit-Learn provides a uniform toolkit for applying common machine learning algorithms to data.
IPython/Jupyter provides an enhanced terminal and an interactive notebook environment that is useful for exploratory ...