Giter Club home page Giter Club logo

intermediate-python-training's Introduction

DOI

Intermediate python courses

This repository regroups the course material of two "intermediate python" one-day courses of SIB Training:

  1. Data analysis and representation in python (DARPY).
  2. Optimizing Python Code for Better Performance (OPTPY).

These courses are addressed to life scientists, bioinformaticians and researchers who are familiar with writing Python code and core Python elements, and would like to explore it further in their daily data wrangling and exploration tasks.

Please note that the courses require that participants are already familiar with basic Python syntax, environment, and the most common commands.

Topics covered in these courses include:

Data analysis and representation in python:

  • Parsing, transforming, and exploring data using Pandas.
  • Performing statistical simulation and testing with Numpy/Scipy.
  • Representing data in an efficient and impactful manner using Seaborn.

Optimizing Python Code for Better Performance:

  • Assessing computational resource usage of your code.
  • Speeding-up your Python code with Numba and more.


Prerequisites

Prerequisite knowledge

Participants are expected to be familiar with basic Python syntax, concepts, and the most common commands, such as:

  • Basic data types such as list, tuple, or dict, and their basic methods.
  • Flow control such as loops (for, while) and if ... else structures.
  • Using and writing functions.
  • If you need a refresher, please go through the notebook 00_python_warmup.ipynb in this repository.

These courses also rely on Jupyter Notebooks, a web based notebook system for creating and sharing computational documents in an interactive manner.

The courses do not provide an introduction to Jupyter Notebooks, so if you are not familiar with them we recommend to go through a short tutorial such as this one or that more in-depth one.


Software installation

Please make sure you have installed all the required software by setting-up your computer before the start of the course.

In addition, you should ensure you have the following libraries installed (installation can be done via conda or pip for example):

Course 1 - Data analysis and representation in python:

Course 2 - Optimizing Python Code for Better Performance:



Course material organization

The course revolves around a series of Jupyter Notebooks which develop different aspect of data analysis with Python.

Each jupyter notebook interleaves theory and examples of codes. We heartily recommend you execute and play around with these bits of code as you follow along.

The data used in the practicals can be found in the data/ subdirectories of course1/ or course2/.

Solutions to the exercises:

  • For regular exercises, solutions can be loaded directly from the exercise notebooks. The actual files are located in the solutions/ subdirectories of course1/ or course2/.
  • For micro-exercises, solutions can be found in the solutions/micro_exercises subdirectories of course1/ or course2/.


Course recording videos

We recorded the last edition of these courses in November 2023 and organized them into two playlists:



Citation

Please cite as: Robin Engler, & Wandrille Duchemin. (2023, November 14). Material for the intermediate python SIB-training course. Zenodo. https://doi.org/10.5281/zenodo.10124583

intermediate-python-training's People

Contributors

dianamarek avatar robinengler avatar sibgit avatar wandrilled avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.