Skip to content

fazekasda/MyPythonLearnPack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python resources for beginners...

...with special regard to science and data analysis applications

Here you find a list of resources which might be for your help in learning Python, as well as a virtual environment where many tools are readily available for you.

Setting up a Python environment

This repo contains a virtual environment set up for easy installation. You can start using Python without learning how to install Python and modules, which is not always straightforward and might even require some system administration knowledge. Of course later you can learn these, but now we provide a little help for a quick start. To install this environment to your own computer follow the description.

Where to start?

Non Python specific but important resources

  • http://stackoverflow.com/ - This very important resource worths special mention. As you will se if you google for any programming issue, in 90% you will end up on this site. SO is a Q&A (question and answer) site where anybody can ask programming related questions and answer or comment others questions. Users collect reputation points for their contributions which made it a very efficient platform for community building around mutual help. Your question likely will be answered very quickly, but be careful not to ask something already answered by answers for other questions.
  • https://bitbucket.org/ - We suggest you to familiarize yourself as soon as possible with version control frameworks. Nowdays the most popular is git. Version control helps you to keep track of changes, keep your project files in order, backup your work often, avoid data loss, to collaborate and to share your code in a standard and convenient way. BitBucket allows you to to create more private repos than the most well known git server, http://github.com/.
  • https://maryrosecook.com/blog/post/git-from-the-inside-out - If you write code please start using git. Sooner is better, even your random exercises you can commit to a git repo. Here is an in depth introduction to git starting from the basics.

Interactive learning platforms

Exercises

When you write code with the aim of learning it is often difficult to find a task, you want to code, but don't know what to code. In Euler Problems you find hundreds of small mathematics problems, each of them you can solve just in a few lines of code, ideal even if you have only half hour for practicing. As you develop you can return to already solved problems, and find out better and nicer implementations.

Tutorials

Resources

Here we list blogs and essays which are not primarily tutorials, but give an introduction or insight into specific topics

Massive Open Online Courses (MOOCs)

Environments

  • http://www.bpython-interpreter.org/ - Nice, colorful command line environment with smart autocompletion and built in help functions.
  • https://gist.github.com/lonetwin/5902720 - You can easily customize your Python shell with editing your ~/.pythonrc file. For example, copy the one in this git repo into yours, and you will have a colored shell with autocompletion.
  • https://www.pythonanywhere.com/ - A full Python environment in the cloud with lots of libraries and many Python versions available. You can write Python scripts in the browser, and even deploy your application as a webpage. Free plan is available.
  • https://jupyter.org/ - Interactive Python environment in the browser: Python runs in the background on your machine, and you write the code and get the output in the browser, in so called notebooks. Note: this is the same as IPython was, they just renamed when it became language agnostic (originally it was only for Python, but now can be used also with other languages).
  • https://www.continuum.io/why-anaconda - Python environment intended for science and data analysis, with easy availability of relevant modules (at least in theory: eventually installation might be more complicated).

Modules for data analysis

  • http://www.numpy.org/ - Computationally efficient handling of multidimensional numeric arrays (i.e. matrices of numbers).
  • https://www.scipy.org/ - Collection of many stats and science methods, like regression, statistics tests.
  • http://pandas.pydata.org/ - Built on top of numpy, pandas provides a more convenient handling of data tables, i.e. here you can have row and column names, methods for convenient rearranging and filtering your data. You can imagine a programmable excel sheet, or something like data frames in R.
  • https://jupyter.org/ - Interactive Python environment in the browser: Python runs in the background on your machine, and you write the code and get the output in the browser, in so callednotebooks. Note: this is the same as IPython was, they just renamed when it became language agnostic (originally it was only for Python, but now can be used also with other languages).
  • https://boltons.readthedocs.org/en/latest/ - Many useful tools for advanced Python programming

Visualization, plotting

We have seen a number of efforts emerging in the past years aiming to provide powerful data visualization in Python, so sciencists and data analysts would not need to be envy of R users. Perhaps the perfect ggplot2 or lattice equivalent is still to come (although a very fresh library, Altair is promising), but each of the frameworks listed below are very good in certain tasks, and of course have its limitations. Thus, it is difficult to chose a plotting library, you will likely try more of them.

Graphs (networks)

Statistics

These are not Python related but generic.

IDEs (integrated development environments)

IDEs help you to keep track of files in your project, their history, dependencies, testing, outputs, etc.

Books

Must read

Advanced Python

Other Books

Lectures

Podcasts

Miscellanous

Regular expression resources

In data analysis we process tremendous amount of data which is sometimes noisy and we need to extract information from messy patterns. Regular expressions sooner or later will be your essential tools no matter which field and language do you work with. Here are a few excellent resources to learn these small tricky things called regex:

Fun

About

Yet another learn python pack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages