Python is an interpreted, dynamically-typed language with a precise and efficient syntax. Python has a good REPL and new modules can be explored from the REPL with dir() and docstrings. That's one reason to prefer Python over C, C++, or Java.
The Python community invested in the mid-1990s in Numeric, an "extension to Python to support numeric analysis as naturally as [M]atlab does. Numeric later evolved into NumPy. Several years later, the plotting functionality from Matlab was ported to Python with matplotlib. Libraries for scientific computing were built around NumPy and matplotlib and bundled into the SciPy package, which was commercially supported by Enthought. Python's support for Matlab-like array manipulation and plotting is a major reason to prefer it over Perl and Ruby.
Today, the most popular alternatives to Python for data scientists are R, Matlab/Octave, and Mathematica/Sage. In addition to the work mentioned above to port features from Matlab into Python, recent work has ported several popular features from R and Mathematica into Python.
From R, the data frame and associated manipulations (from the plyr and reshape packages) have been implemented by the panda's library. The scikit-learn project [7] presents a common interface to many machine learning algorithms, similar to the caret package in R.
From Mathematica/Sage, the concept of a "notebook" has been implemented with IPython notebooks .I find this article
https://diceus.com/crm-development-effective-algorithms-carrying-projects/
where you can get a lot of useful information on this topic. Hope this helps. Good Luck