You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At this stage, it's **not** our intention that you try to replicate all you see.
45
45
@@ -63,21 +63,28 @@ Python has experienced rapid adoption in the last decade and is now one of the m
63
63
* web development
64
64
* CGI and graphical user interfaces
65
65
* game development
66
-
* multimedia, data processing, security, etc., etc., etc.
66
+
* resource planning
67
+
* multimedia, data science, security, etc., etc., etc.
67
68
68
-
Used extensively by Internet services and hightech companies including
69
+
Used and supported extensively by Internet services and high-tech companies including
69
70
70
71
*[Google](https://www.google.com/)
72
+
*[Netflix](https://www.netflix.com/)
73
+
*[Meta](https://opensource.fb.com/)
71
74
*[Dropbox](https://www.dropbox.com/)
75
+
*[Amazon](https://www.amazon.com/)
72
76
*[Reddit](https://www.reddit.com/)
73
-
*[YouTube](https://www.youtube.com/)
74
-
*[Walt Disney Animation](https://pydanny-event-notes.readthedocs.org/en/latest/socalpiggies/20110526-wda.html).
75
77
76
-
Python is very beginner-friendly and is often used to [teach computer science and programming](http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext).
78
+
For reasons we will discuss, Python is particularly popular within the scientific community and behind many scientific achievements in
For reasons we will discuss, Python is particularly popular within the scientific community with users including NASA, CERN and practically all branches of academia.
83
+
and practically all branches of academia.
79
84
80
-
It is also [replacing familiar tools like Excel](https://news.efinancialcareers.com/us-en/3002556/python-replaced-excel-banking) in the fields of finance and banking.
85
+
Meanwhile, Python is also very beginner-friendly and is found to be suitable for students learning programming and recommended to introduce computational methods to students in [fields other than computer science](https://www.sciencedirect.com/science/article/pii/S1477388021000177).
86
+
87
+
Python is also [replacing familiar tools like Excel as an essential skill](https://www.efinancialcareers.com.au/news/2021/08/python-for-banking-jobs) in the fields of finance and banking.
81
88
82
89
### Relative Popularity
83
90
@@ -103,7 +110,7 @@ Python's popularity begin to spike in the first figure.
103
110
104
111
Overall, it's clear that
105
112
106
-
* Python is [one of the most popular programming languages worldwide](https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019).
113
+
* Python is [one of the most popular programming languages worldwide](https://spectrum.ieee.org/top-programming-languages-2021).
107
114
* Python is a major tool for scientific computing, accounting for a rapidly rising share of scientific work around the globe.
108
115
109
116
### Features
@@ -143,18 +150,18 @@ Python has become one of the core languages of scientific computing.
143
150
144
151
It's either the dominant player or a major player in
145
152
146
-
*[machine learning and data science](http://scikit-learn.org/stable/)
153
+
*[machine learning and data science](https://github.com/ml-tooling/best-of-ml-python)
#### Other Useful Statistics and Data Science Libraries
335
348
336
349
```{index} single: statsmodels
337
350
```
@@ -341,17 +354,28 @@ df.mean()
341
354
```{index} single: scikit-learn
342
355
```
343
356
344
-
*[scikit-learn](http://scikit-learn.org/) --- machine learning in Python (sponsored by Google, among others)
357
+
*[scikit-learn](http://scikit-learn.org/) --- Machine Learning in Python
345
358
346
-
```{index} single: pyMC
359
+
```{index} single: PyTorch
347
360
```
348
361
349
-
*[pyMC](http://pymc-devs.github.io/pymc/) --- for Bayesian data analysis
362
+
*[PyTorch](https://pytorch.org/) --- Deep learning framework in Python and other major competitors in the field including [TensorFlow](https://www.tensorflow.org/overview) and [Keras](https://keras.io/)
350
363
351
-
```{index} single: pystan
364
+
```{index} single: Pyro
352
365
```
353
366
354
-
*[pystan](https://pystan.readthedocs.org/en/latest/) Bayesian analysis based on [stan](http://mc-stan.org/)
367
+
*[Pyro](https://pyro.ai/) and [PyStan](https://pystan.readthedocs.org/en/latest/) --- for Bayesian data analysis building on [Pytorch](https://pytorch.org/) and [stan](http://mc-stan.org/) respectively
368
+
369
+
```{index} single: lifelines
370
+
```
371
+
372
+
*[lifelines](https://lifelines.readthedocs.io/en/latest/) --- for survival analysis
373
+
374
+
```{index} single: GeoPandas
375
+
```
376
+
377
+
*[GeoPandas](https://geopandas.org/en/stable/) --- for spatial data analysis
378
+
355
379
356
380
### Networks and Graphs
357
381
@@ -366,7 +390,7 @@ Its features include, among many other things:
366
390
* standard graph algorithms for analyzing networks
367
391
* plotting routines
368
392
369
-
Here's some example code that generates and plots a random graph, with node color determined by shortest path length from a central node.
393
+
Here's some example code that generates and plots a random graph, with node color determined by the shortest path length from a central node.
370
394
371
395
```{code-cell} ipython
372
396
%matplotlib inline
@@ -405,32 +429,33 @@ plt.show()
405
429
406
430
Running your Python code on massive servers in the cloud is becoming easier and easier.
A nice example is [Anaconda Enterprise](https://www.anaconda.com/enterprise/).
435
+
An excellent example of the portability of python in a cloud computing environment is [Google Colab](https://colab.research.google.com/). It hosts the Jupyter notebook on cloud servers with no pre-configuration necessary to run Python code using cloud servers.
412
436
413
-
See also
414
437
415
-
```{index} single: cloud computing; amazon ec2
416
-
```
438
+
There are also commercial applications of cloud computing using Python:
*[Parallel computing through IPython clusters](https://ipyparallel.readthedocs.io/en/latest/).
449
471
450
-
* The [Starcluster](http://star.mit.edu/cluster/) interface to Amazon's EC2.
451
472
452
-
```{index} single: parallel computing; copperhead
473
+
```{index} single: parallel computing; Dask
453
474
```
454
475
476
+
*[Dask](https://www.dask.org/) parallelises PyData and Machine Learning in Python.
477
+
455
478
```{index} single: parallel computing; pycuda
456
479
```
457
480
458
-
* GPU programming through [PyCuda](https://wiki.tiker.net/PyCuda), [PyOpenCL](https://mathema.tician.de/software/pyopencl/), [Theano](https://en.wikipedia.org/wiki/Theano_(software)) or similar.
481
+
* GPU programming through [JAX](https://jax.readthedocs.io/en/latest/notebooks/quickstart.html), [PyCuda](https://wiki.tiker.net/PyCuda), [PyOpenCL](https://documen.tician.de/pyopencl/), [Rapids](https://rapids.ai/), etc.
482
+
483
+
484
+
Here is more about [recent developments](https://pasc22.pasc-conference.org/program/papers/) in high-performance computing (HPC) in scientific computing and [how HPC helps researchers in different fields](https://pasc22.pasc-conference.org/program/keynote-presentations/).
459
485
460
486
(intfc)=
461
487
### Other Developments
@@ -472,27 +498,46 @@ Some representative examples include
472
498
```{index} single: scientific programming; Numba
473
499
```
474
500
475
-
*[Numba](http://numba.pydata.org/) --- Make Python run at the same speed as native machine code!
501
+
*[Numba](http://numba.pydata.org/) --- make Python run at the same speed as native machine code!
476
502
477
-
```{index} single: scientific programming; Blaze
503
+
```{index} single: scientific programming; CVXPY
478
504
```
479
505
480
-
*[Blaze](http://blaze.pydata.org/) --- a generalization of NumPy.
506
+
*[CVXPY](https://www.cvxpy.org/) --- convex optimization in Python.
*[CVXPY](https://github.com/cvxgrp/cvxpy) --- convex optimization in Python.
535
+
*[PyInstaller](https://pyinstaller.org/en/stable/) --- create packaged app from python script.
491
536
492
537
## Learn More
493
538
494
539
* Browse some Python projects on [GitHub](https://github.com/trending?l=python).
495
-
* Read more about [Python's history and rise in popularity](https://www.welcometothejungle.com/en/articles/btc-python-popular) .
540
+
* Read more about [Python's history and rise in popularity](https://www.welcometothejungle.com/en/articles/btc-python-popular)and [version history](https://www.python.org/doc/versions/).
496
541
* Have a look at [some of the Jupyter notebooks](http://nbviewer.jupyter.org/) people have shared on various scientific topics.
0 commit comments