**Workshops : Scientific Computing in Python**

Submitted by
**poruri sai rahul (@rahulporuri)**
on Thursday, 24 August 2017

### Abstract

Numpy, Pandas and Matplotlib are the three pillars which support Scientific Computing in Python. Pandas depends on Numpy for speed but Pandas provides a better user experience for data analysis. Both of Numpy and Pandas depend on Matplotlib to create effective visualizations and convey your results.

After the workshop, you will have a better understanding of the packages and how to effectively use them. You will also have a better understanding of where they fit into the broader ecosystem of Scientific libraries in Python.

This workshop is intended for Beginners and Intermediate audience. Participants with some/no experience in Python can jump directly into using the packages and participants with experience using the packages will be able to get a better understanding of how the packages work and use them more effectively.

### Outline

The workshop is broadly split into two sections.

In the first section, we will go through Numpy and the Numpy Array datatype. We will look at how it’s different from Python’s List & Arrray datatypes and why it’s faster & more efficient to use than the latter. We will create multi-dimensional Numpy Arrays and understand how we can use them to perform fast calculations. Towards the end, we will look at a few downsides of using the Numpy library.

In the second section, we will look at how the Pandas library builds on top of Numpy to provide easier access to the underlying data. We will create and use the Pandas Series and DataFrame datatypes.

As we create and use Numpy Arrays and Pandas DataFrames, we will use Matplotlib to visualize what we are creating and we will look at how Matplotlib can be weilded to create powerful visualizations.

Towards the end of the workshop, I will talk about what other packages are used for Scientific Computing & Visualization in Python.

### Requirements

The participants should have Numpy, Pandas, Matplotlib and their relevant dependencies installed. The participants are also recommended to install Jupyter Notebooks and it’s dependencies.

### Speaker bio

I am a Scientific Software Developer at Enthought India. I graduated from IIT Madras with a B.S. & M.S. in Physics.

I have been involved with the Python community in Pune over the last year, during which I gave talks on Using Cython and on Using virtualenvs. I conducted two workshops at SciPy India 2016 on Using Git & GitHub and on Automated testing using the unittest and mock libraries. Finally, I was invited to IIT Madras, my almamater, to give a conduct a workshop on Scientific Computing using the Numpy, Pandas and Cython libraries.

I hope that answers both the question of whether or not I am competent in Python and it’s ecosystem of packages and the question of whether or not I am good at public speaking.

### Links

- As mentioned above, https://github.com/rahulporuri/talks/tree/master/scientific_computing_101 contains Jupyter Notebooks that introduce various concepts in Numpy, Pandas and Matplotlib.
- https://github.com/rahulporuri/talks/ contains other talks/workshops I've conducted so far.