10 Simple hacks to speed up your Data Analysis in Python

Well, you can actually do that with the help of Cufflinks library.

Cufflinks library binds the power of plotly with the flexibility of pandas for easy plotting.

Let’s now see how we can install the library and get it working in pandas.

Installationpip install plotly # Plotly is a pre-requisite before installing cufflinkspip install cufflinksUsage#importing Pandas import pandas as pd#importing plotly and cufflinks in offline modeimport cufflinks as cfimport plotly.

offlinecf.

go_offline()cf.

set_config_file(offline=False, world_readable=True)Time to see the magic unfold with the Titanic dataset.

df.

iplot()df.

iplot() vs df.

plot()The visualisation on the right shows the static chart while the left chart is interactive and more detailed and all this without any major change in the syntax.

Click here for more examples.

3.

A Dash of MagicMagic commands are a set of convenient functions in Jupyter Notebooks that are designed to solve some of the common problems in standard data analysis.

You can see all available magics with the help of %lsmagic.

List of all available magic functionsMagic commands are of two kinds: line magics, which are prefixed by a single % character and operate on a single line of input, and cell magics, which are associated with the double %% prefix and operate on multiple lines of input.

Magic functions are callable without having to type the initial % if set to 1.

Let’s look at some of them that might be useful in common data analysis tasks:% pastebin%pastebin uploads code to Pastebin and returns the url.

Pastebin is an online content hosting service where we can store plain text like source code snippets and then the url can be shared with others.

In fact, Github gist is also akin to pastebin albeit with version control.

Consider a python script file.

py with the following content:#file.

pydef foo(x): return xUsing %pastebin in Jupyter Notebook generates a pastebin url.

%matplotlib notebookThe %matplotlib inline function is used to render the static matplotlib plots within the Jupyter notebook.

Try replacing the inline part with notebook to get zoom-able & resize-able plots, easily.

Make sure the function is called before importing the matplotlib library.

%matplotlib inline vs %matplotlib notebook%runThe %run function runs a python script inside a notebook.

%run file.

py%%writefile%%writefile writes the contents of a cell to a file.

Here the code will be written to a file named foo.

py and saved in the current directory.

%%latexThe %%latex function renders the cell contents as LaTeX.

It is useful for writing mathematical formulae and equations in a cell.

4.

Finding and Eliminating ErrorsThe interactive debugger is also a magic function but I have given it a category of its own.

If you get an exception while running the code cell, type %debug in a new line and run it.

This opens an interactive debugging environment which brings you to the position where the exception has occurred.

You can also check for values of variables assigned in the program and also perform operations here.

To exit the debugger hit q.

5.

Printing can be pretty tooIf you want to produce aesthetically pleasing representations of your data structures, pprint is the go-to module.

It is especially useful when printing dictionaries or JSON data.

Let’s have a look at an example which uses both print and pprint to display the output.

6.

Making the Notes stand out.

We can use alert/Note boxes in your Jupyter Notebooks to highlight something important or anything that needs to stand out.

The colour of the note depends upon the type of alert that is specified.

Just add any or all of the following codes in a cell that needs to be highlighted.

Blue Alert Box: info<div class="alert alert-block alert-info"><b>Tip:</b> Use blue boxes (alert-info) for tips and notes.

If it’s a note, you don’t have to include the word “Note”.

</div>Yellow Alert Box: Warning<div class="alert alert-block alert-warning"><b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas.

</div>Green Alert Box: Success<div class="alert alert-block alert-success">Use green box only when necessary like to display links to related content.

</div>Red Alert Box: Danger<div class="alert alert-block alert-danger">It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc.

</div>7.

Printing all the outputs of a cellConsider a cell of Jupyter Notebook containing the following lines of code:In [1]: 10+5 11+6Out [1]: 17It is a normal property of the cell that only the last output gets printed and for the others, we need to add the print() function.

Well, it turns out that we can print all the outputs just by adding the following snippet at the top of the notebook.

from IPython.

core.

interactiveshell import InteractiveShell InteractiveShell.

ast_node_interactivity = "all"Now all the outputs get printed one after the other.

In [1]: 10+5 11+6 12+7Out [1]: 15Out [1]: 17Out [1]: 19To revert to the original setting :InteractiveShell.

ast_node_interactivity = "last_expr"8.

Running python scripts with the ‘i’ option.

A typical way of running a python script from the command line is: python hello.

py.

However, if you add an additional -i while running the same script e.

g python -i hello.

py it offers more advantages.

Let’s see how.

Firstly, once the end of the program is reached, python doesn’t exit the interpreter.

As such we can check the values of the variables and the correctness of the functions defined in our program.

Secondly, we can easily invoke a python debugger since we are still in the interpreter by:import pdbpdb.

pm()This will bring us o the position where the exception has occurred and we can then work upon the code.

The original source of the hack.

9.

Commenting out code automaticallyCtrl/Cmd + / comments out selected lines in the cell by automatically.

Hitting the combination again will uncomment the same line of code.

10.

To delete is human, to restore divineHave you ever accidentally deleted a cell in a Jupyter Notebook?.If yes then here is a shortcut which can undo that delete action.

In case you have deleted the contents of a cell, you can easily recover it by hitting CTRL/CMD+ZIf you need to recover an entire deleted cell hit ESC+Z or EDIT > Undo Delete CellsConclusionIn this article, I’ve listed the main tips I have gathered while working with Python and Jupyter Notebooks.

I am sure they will be of use to you and you will take back something from this article.

Till then Happy Coding!.

.. More details

Leave a Reply