.. _communitytutorials:

{{ header }}

*******************
Community tutorials
*******************

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

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>`_.

pandas workshop by Stefanie Molin
---------------------------------

An introductory workshop by `Stefanie Molin <https://github.com/stefmolin>`_
designed to quickly get you up to speed with pandas using real-world datasets.
It covers getting started with pandas, data wrangling, and data visualization
(with some exposure to matplotlib and seaborn). The
`pandas-workshop GitHub repository <https://github.com/stefmolin/pandas-workshop>`_
features detailed environment setup instructions (including a Binder environment),
slides and notebooks for following along, and exercises to practice the concepts.
There is also a lab with new exercises on a dataset not covered in the workshop for
additional practice.

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>`_

Excel charts with pandas, vincent and xlsxwriter
------------------------------------------------

*  `Using Pandas and XlsxWriter to create Excel charts <https://pandas-xlsxwriter-charts.readthedocs.io/>`_

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 From The Ground Up <https://www.youtube.com/watch?v=5JnMutdy6Fw>`_
  (2015) (2:24)
  `GitHub repo <https://github.com/brandon-rhodes/pycon-pandas-tutorial>`__
* `Introduction Into Pandas <https://www.youtube.com/watch?v=-NR-ynQg0YM>`_
  (2016) (1:28)
  `GitHub repo <https://github.com/chendaniely/2016-pydata-carolinas-pandas>`__
* `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>`_
* `Statistical analysis made easy in Python with SciPy and pandas DataFrames, by Randal Olson <http://www.randalolson.com/2012/08/06/statistical-analysis-made-easy-in-python/>`_
* `Statistical Data Analysis in Python, tutorial by Christopher Fonnesbeck from SciPy 2013 <https://github.com/fonnesbeck/statistical-analysis-python-tutorial>`_
* `Financial analysis in Python, by Thomas Wiecki <https://nbviewer.org/github/twiecki/financial-analysis-python-tutorial/blob/master/1.%20Pandas%20Basics.ipynb>`_
* `Intro to pandas data structures, by Greg Reda <http://www.gregreda.com/2013/10/26/intro-to-pandas-data-structures/>`_
* `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>`_
