.. _communitytutorials:

{{ header }}

*******************
Tutorials and Books
*******************

This is a guide to many pandas tutorials and books by the community, geared mainly for new users.

Pandas Workout by Reuven Lerner
-------------------------------

https://www.manning.com/books/pandas-workout

This book provides 200 exercises with pandas. From the description:

   Pandas Workout hones your pandas skills to a professional-level through two hundred
   exercises, each designed to strengthen your pandas skills. You’ll test your abilities
   against common pandas challenges such as importing and exporting, data cleaning,
   visualization, and performance optimization. Each exercise utilizes a real-world
   scenario based on real-world data, from tracking the parking tickets in New York City,
   to working out which country makes the best wines. You’ll soon find your pandas skills
   becoming second nature—no more trips to StackOverflow for what is now a natural part
   of your skillset.

Bamboo Weekly by Reuven Lerner
------------------------------

`Bamboo Weekly <https://www.bambooweekly.com>`_ is a mailing list that provides weekly,
hands on data analysis exercises to practice using pandas.

pandas cookbook by Julia Evans
------------------------------

The goal of this 2015 cookbook (by `Julia Evans <https://jvns.ca>`_) is to
give you some concrete examples for getting started with pandas. These
are examples with real-world data, and all the bugs and weirdness that
entails.
For the table of contents, see the `pandas-cookbook GitHub
repository <https://github.com/jvns/pandas-cookbook>`_.

Learn pandas by Hernan Rojas
----------------------------

A set of lesson for new pandas users: https://bitbucket.org/hrojas/learn-pandas

Practical data analysis with Python
-----------------------------------

This `guide <https://wavedatalab.github.io/datawithpython>`_ is an introduction to the data analysis process using the Python data ecosystem and an interesting open dataset.
There are four sections covering selected topics as `munging data <https://wavedatalab.github.io/datawithpython/munge.html>`__,
`aggregating data <https://wavedatalab.github.io/datawithpython/aggregate.html>`_, `visualizing data <https://wavedatalab.github.io/datawithpython/visualize.html>`_
and `time series <https://wavedatalab.github.io/datawithpython/timeseries.html>`_.

.. _tutorial-exercises-new-users:

Exercises for new users
-----------------------
Practice your skills with real data sets and exercises.
For more resources, please visit the main `repository <https://github.com/guipsamora/pandas_exercises>`__.


.. _tutorial-modern:

Modern pandas
-------------

Tutorial series written in 2016 by
`Tom Augspurger <https://github.com/TomAugspurger>`_.
The source may be found in the GitHub repository
`TomAugspurger/effective-pandas <https://github.com/TomAugspurger/effective-pandas>`_.

* `Modern Pandas <https://tomaugspurger.github.io/modern-1-intro.html>`_
* `Method Chaining <https://tomaugspurger.github.io/method-chaining.html>`_
* `Indexes <https://tomaugspurger.github.io/modern-3-indexes.html>`_
* `Performance <https://tomaugspurger.github.io/modern-4-performance.html>`_
* `Tidy Data <https://tomaugspurger.github.io/modern-5-tidy.html>`_
* `Visualization <https://tomaugspurger.github.io/modern-6-visualization.html>`_
* `Timeseries <https://tomaugspurger.github.io/modern-7-timeseries.html>`_

Joyful pandas
-------------

A tutorial written in Chinese by Yuanhao Geng. It covers the basic operations
for NumPy and pandas, 4 main data manipulation methods (including indexing, groupby, reshaping
and concatenation) and 4 main data types (including missing data, string data, categorical
data and time series data). At the end of each chapter, corresponding exercises are posted.
All the datasets and related materials can be found in the GitHub repository
`datawhalechina/joyful-pandas <https://github.com/datawhalechina/joyful-pandas>`_.

Video tutorials
---------------

* `Pandas: .head() to .tail() <https://www.youtube.com/watch?v=7vuO9QXDN50>`_
  (2016) (1:26)
  `GitHub repo <https://github.com/TomAugspurger/pydata-chi-h2t>`__
* `Data analysis in Python with pandas <https://www.youtube.com/playlist?list=PL5-da3qGB5ICCsgW1MxlZ0Hq8LL5U3u9y>`_
  (2016-2018)
  `GitHub repo <https://github.com/justmarkham/pandas-videos>`__ and
  `Jupyter Notebook <https://nbviewer.org/github/justmarkham/pandas-videos/blob/master/pandas.ipynb>`__
* `Best practices with pandas <https://www.youtube.com/playlist?list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6>`_
  (2018)
  `GitHub repo <https://github.com/justmarkham/pycon-2018-tutorial>`__ and
  `Jupyter Notebook <https://nbviewer.org/github/justmarkham/pycon-2018-tutorial/blob/master/tutorial.ipynb>`__


Various tutorials
-----------------

* `Wes McKinney's (pandas BDFL) blog <https://wesmckinney.com/archives.html>`_
* `Pandas DataFrames Tutorial, by Karlijn Willems <https://www.datacamp.com/community/tutorials/pandas-tutorial-dataframe-python>`_
* `A concise tutorial with real life examples <https://tutswiki.com/pandas-cookbook/chapter1/>`_
* `430+ Searchable Pandas recipes by Isshin Inada <https://skytowner.com/explore/pandas_recipes_reference>`_
