Python is used at the top of the stack because it's an easy language to learn, you can get started fast, and, for places where performance is important - nothing is running in Python anyways.
Also interactivity and quick feedback cycle, stuff like Jupyter Notebooks (né IPython Notebooks, a spinoff from the IPython project), matplotlib, ...
Because it's glue, so its speed doesn't matter overly much.
> Is it Library support or purely community based?
That's a dichotomy which doesn't really make sense. Python has cultivated and attracted attention from scientific communities from the start: the matrix-sig (a special interest group focusing on array computing packages) was created back in '95 and a number of their suggestions were added as language-level conveniences (that continues to this day, `@` was recently added as the "matrix multiplication" operator).
This is feasible to reduce interpreter overhead considerably by using array programming:
c = a + b #This is valid Python code.
Where a and b are two same sized numpy arrays. Numpy typically handles the add in an optimized SIMD function.
I think Python is a good example of how being good enough is better than being awesome. And then it builds inertia through use and packages and friend of a friend recommendations.
However, it does make me wonder, why has python become to standard for data science? Is it Library support or purely community based?