## Where do I start with Python? {:.no_toc} ## The goal We have to start somewhere. Why not with an overview? Questions to [David Rotermund](mailto:davrot@uni-bremen.de) ## [Python​](https://www.python.org/) > Python is a programming language that lets you work quickly and integrate systems more effectively. * There is an offical [Python Tutorial](https://docs.python.org/3/tutorial/) * YouTube: Socratica Channel [Python Programming Tutorials​](https://www.youtube.com/watch?v=bY6m6_IIN94&list=PLi01XoE8jYohWFPpC17Z-wWhPOSuh8Er-) ## [VS code](https://code.visualstudio.com/) You need an editor for writing Python code. We suggest to use [VS code](https://code.visualstudio.com/) as an editor. It supports many operations systems. > Code editing. Redefined. Free. Built on open source. Runs everywhere. * [Getting Started with Python in VS Code](https://code.visualstudio.com/docs/python/python-tutorial) ## [Numpy](https://numpy.org/doc/stable/index.html) [What is NumPy?​](https://numpy.org/doc/stable/user/whatisnumpy.html) > NumPy is the fundamental package for scientific computing in Python. It is a Python library that provides a multidimensional array object, various derived objects (such as masked arrays and matrices), and an assortment of routines for fast operations on arrays, including mathematical, logical, shape manipulation, sorting, selecting, I/O, discrete Fourier transforms, basic linear algebra, basic statistical operations, random simulation and much more. * [NumPy quickstart​](https://numpy.org/doc/stable/user/quickstart.html) * [NumPy: the absolute basics for beginners​](https://numpy.org/doc/stable/user/absolute_beginners.html) * [NumPy fundamentals​](https://numpy.org/doc/stable/user/basics.html) * [NumPy for MATLAB users](https://numpy.org/doc/stable/user/numpy-for-matlab-users.html) (if you are a Matlab user) ## [Matplotlib](https://matplotlib.org/stable/index.html) > Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. * [Pyplot tutorial](https://matplotlib.org/stable/tutorials/introductory/pyplot.html) ## [Pandas](https://pandas.pydata.org/) > pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. * [10 minutes to pandas](https://pandas.pydata.org/docs/user_guide/10min.html) ## [SciPy](https://scipy.org/) > Fundamental algorithms for scientific computing in Python * [SciPy User Guide](https://docs.scipy.org/doc/scipy/tutorial/index.html) ## [scikit-learn](https://scikit-learn.org/stable/) > Simple and efficient tools for predictive data analysis * [Getting Started](https://scikit-learn.org/stable/getting_started.html) * [User Guide](https://scikit-learn.org/stable/user_guide.html#user-guide) ## [PyTorch](https://pytorch.org/) > An open source machine learning framework that accelerates the path from research prototyping to production deployment. * [PyTorch Tutorials](https://pytorch.org/tutorials/) ## [TensorFlow](https://www.tensorflow.org/) > TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.​ * [Tutorials](https://www.tensorflow.org/tutorials) ## [OpenCV](https://opencv.org/) > Open Source Computer Vision * [OpenCV-Python Tutorials](https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html)