@@ -18,8 +18,7 @@ kernelspec:
1818</div>
1919```
202021-```{index}
22-single: python
21+```{index} single: python
2322```
24232524# About Python
@@ -122,8 +121,7 @@ Other features of Python:
122121123122### Syntax and Design
124123125-```{index}
126-single: Python; syntax and design
124+```{index} single: Python; syntax and design
127125```
128126129127One nice feature of Python is its elegant syntax --- we'll see many examples later on.
@@ -140,8 +138,7 @@ Features like iterators, generators, decorators and list comprehensions make Pyt
140138141139## Scientific Programming
142140143-```{index}
144-single: scientific programming
141+```{index} single: scientific programming
145142```
146143147144Python has become one of the core languages of scientific computing.
@@ -163,8 +160,7 @@ This section briefly showcases some examples of Python for scientific programmin
163160164161### Numerical Programming
165162166-```{index}
167-single: scientific programming; numeric
163+```{index} single: scientific programming; numeric
168164```
169165170166Fundamental matrix and array processing capabilities are provided by the excellent [NumPy](http://www.numpy.org/) library.
@@ -218,8 +214,7 @@ See them all [here](http://docs.scipy.org/doc/scipy/reference/index.html).
218214219215### Graphics
220216221-```{index}
222-single: Matplotlib
217+```{index} single: Matplotlib
223218```
224219225220The most popular and comprehensive Python library for creating figures and graphs is [Matplotlib](http://matplotlib.org/), with functionality including
@@ -258,8 +253,7 @@ Other graphics libraries include
258253259254It's useful to be able to manipulate symbolic expressions, as in Mathematica or Maple.
260255261-```{index}
262-single: SymPy
256+```{index} single: SymPy
263257```
264258265259The [SymPy](http://www.sympy.org/) library provides this functionality from within the Python shell.
@@ -315,8 +309,7 @@ the last few years.
315309316310#### Pandas
317311318-```{index}
319-single: Pandas
312+```{index} single: Pandas
320313```
321314322315One of the most popular libraries for working with data is [pandas](http://pandas.pydata.org/).
@@ -343,26 +336,22 @@ df.mean()
343336344337#### Other Useful Statistics Libraries
345338346-```{index}
347-single: statsmodels
339+```{index} single: statsmodels
348340```
349341350342* [statsmodels](http://statsmodels.sourceforge.net/) --- various statistical routines
351343352-```{index}
353-single: scikit-learn
344+```{index} single: scikit-learn
354345```
355346356347* [scikit-learn](http://scikit-learn.org/) --- machine learning in Python (sponsored by Google, among others)
357348358-```{index}
359-single: pyMC
349+```{index} single: pyMC
360350```
361351362352* [pyMC](http://pymc-devs.github.io/pymc/) --- for Bayesian data analysis
363353364-```{index}
365-single: pystan
354+```{index} single: pystan
366355```
367356368357* [pystan](https://pystan.readthedocs.org/en/latest/) Bayesian analysis based on [stan](http://mc-stan.org/)
@@ -371,8 +360,7 @@ single: pystan
371360372361Python has many libraries for studying graphs.
373362374-```{index}
375-single: NetworkX
363+```{index} single: NetworkX
376364```
377365378366One well-known example is [NetworkX](http://networkx.github.io/).
@@ -414,70 +402,59 @@ plt.show()
414402415403### Cloud Computing
416404417-```{index}
418-single: cloud computing
405+```{index} single: cloud computing
419406```
420407421408Running your Python code on massive servers in the cloud is becoming easier and easier.
422409423-```{index}
424-single: cloud computing; anaconda enterprise
410+```{index} single: cloud computing; anaconda enterprise
425411```
426412427413A nice example is [Anaconda Enterprise](https://www.anaconda.com/enterprise/).
428414429415See also
430416431-```{index}
432-single: cloud computing; amazon ec2
417+```{index} single: cloud computing; amazon ec2
433418```
434419435420* [Amazon Elastic Compute Cloud](http://aws.amazon.com/ec2/)
436421437-```{index}
438-single: cloud computing; google app engine
422+```{index} single: cloud computing; google app engine
439423```
440424441425* The [Google App Engine](https://cloud.google.com/appengine/) (Python, Java, PHP or Go)
442426443-```{index}
444-single: cloud computing; pythonanywhere
427+```{index} single: cloud computing; pythonanywhere
445428```
446429447430* [Pythonanywhere](https://www.pythonanywhere.com/)
448431449-```{index}
450-single: cloud computing; sagemath cloud
432+```{index} single: cloud computing; sagemath cloud
451433```
452434453435* [Sagemath Cloud](https://cloud.sagemath.com/)
454436455437### Parallel Processing
456438457-```{index}
458-single: parallel computing
439+```{index} single: parallel computing
459440```
460441461442Apart from the cloud computing options listed above, you might like to consider
462443463-```{index}
464-single: parallel computing; ipython
444+```{index} single: parallel computing; ipython
465445```
466446467447* [Parallel computing through IPython clusters](http://ipython.org/ipython-doc/stable/parallel/parallel_demos.html).
468448469-```{index}
470-single: parallel computing; starcluster
449+```{index} single: parallel computing; starcluster
471450```
472451473452* The [Starcluster](http://star.mit.edu/cluster/) interface to Amazon's EC2.
474453475-```{index}
476-single: parallel computing; copperhead
454+```{index} single: parallel computing; copperhead
477455```
478456479-```{index}
480-single: parallel computing; pycuda
457+```{index} single: parallel computing; pycuda
481458```
482459483460* GPU programming through [PyCuda](https://wiki.tiker.net/PyCuda), [PyOpenCL](https://mathema.tician.de/software/pyopencl/), [Theano](http://deeplearning.net/software/theano/) or similar.
@@ -489,32 +466,27 @@ There are many other interesting developments with scientific programming in Pyt
489466490467Some representative examples include
491468492-```{index}
493-single: scientific programming; Jupyter
469+```{index} single: scientific programming; Jupyter
494470```
495471496472* [Jupyter](http://jupyter.org/) --- Python in your browser with interactive code cells, embedded images and other useful features.
497473498-```{index}
499-single: scientific programming; Numba
474+```{index} single: scientific programming; Numba
500475```
501476502477* [Numba](http://numba.pydata.org/) --- Make Python run at the same speed as native machine code!
503478504-```{index}
505-single: scientific programming; Blaze
479+```{index} single: scientific programming; Blaze
506480```
507481508482* [Blaze](http://blaze.pydata.org/) --- a generalization of NumPy.
509483510-```{index}
511-single: scientific programming; PyTables
484+```{index} single: scientific programming; PyTables
512485```
513486514487* [PyTables](http://www.pytables.org) --- manage large data sets.
515488516-```{index}
517-single: scientific programming; CVXPY
489+```{index} single: scientific programming; CVXPY
518490```
519491520492* [CVXPY](https://github.com/cvxgrp/cvxpy) --- convex optimization in Python.
@@ -525,8 +497,7 @@ single: scientific programming; CVXPY
525497* Read more about [Python's history and rise in popularity](https://www.welcometothejungle.com/en/articles/btc-python-popular) .
526498* Have a look at [some of the Jupyter notebooks](http://nbviewer.jupyter.org/) people have shared on various scientific topics.
527499528-```{index}
529-single: Python; PyPI
500+```{index} single: Python; PyPI
530501```
531502532503* Visit the [Python Package Index](https://pypi.org/).