DATA we all know is an ocean of immense possibility covering the entire cosmos and this is my story of how I began my journey towards data science. Adding new skills to my existing skill sets has been something that has always attracted me and the latest in my kitty is learning about Data, what better option than to get into a boot camp and begin the journey. I always have experienced when I tell a story about how fascinating my journey of learning various things has been there is someone else surely who has a better story. So I am just going to attempt to keep my story short and simple & after the short story will add my understanding of the Jupyter note nook and Jupyter Nbextension. In case this blog post adds value to your journey feel free to share the post.
COVID19 and my entry into DATA SCIENCE
Well! We all know if everything goes as per plan it’s never going to be a fascinating journey, my journey too has begun on this note of a failed plan. COVID19 is the key word in my small fascinating journey, the world is never going to be the same and this word has changed lives of million others or is going to change.
I have been blessed and my hands has been always full in my life of work career and learning but when this word hit the world I started to have a thought that I will be having a good break where I will be doing nothing. This made me think and prepare about various option I will have in case I land up into a situation of a three to four more months break. A few questions needed to be answered
1. How should I be productive during the months when I am home?
2. What if the stay at home continues more than a few months?
3. What is the best thing to do according to my interest and the available options?
The part of the answer came from Career Karma & Flatiron School and the answer was this was the right time to get into technology. Since I understand a bit of technology and there has been always an urge to explore more I decided to shift the gear and get into technology. After a lot of contemplation between DATA SCIENCE & SOFTWARE ENGINEERING, DATA SCIENCE won the battle.
I decided to enroll for a full-time FLATIRON Boot camp, but life had different plans and it decided not to give in to the word COVID19, I received a letter saying I belong to essential services so I should be allowed to travel between work and home and I never got the leave I had thought about , that made me decide to take up part time boot camp and the only option I have given myself is to complete the graduation and like many others I am filling in 36 hours in a day of 24 hours . I have always been taught when plan ‘A’ fails just switch to plan ‘B’ and keep going the adventure will be even better.
As i mentioned earlier let me just introduce you to something called Jupyter Note Book & Jupyter notebook extensions
JUPYTER NOTE BOOK
As I understand Jupyter is a project collaborating and developing open source tools for interactive and exploratory computing.Project Jupyter is three things: a collection of standards, a community, and a set of software tools
One part of Project Jupyter in the Jupyter ecosystem is Jupyter note book.
It allows you to create and work with documents that have live code equations, visualizations and narrative text. Its Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.. Since 2014 it has become a very popular tool among Data Scientists, as it allows for both explanations of thinking behind code as well as the code itself. To simplify Jupyter note book is a document that supports mixing of executable code, equations, visualization and narrative texts. It Specifically, Jupyter notebooks allow the users to bring together data, code and prose, to tell an interactive, computational story. Whether you want to tell the COVID story, or the story of how the stock market will react Jupyter notebook is a great source.
Below you can see how a Jupyter note book looks like:
As I understand Jupyter is a project collaborating and developing open source tools for interactive and exploratory computing.Project Jupyter is three things: a collection of standards, a community, and a set of software tools
As a Learning and development specialist I can see this will be a very helpful tool for the entire learning and development environment. Over the years I have learnt that having tools is never an issue as they are available all over the place, the real question comes how productive you become when you have the tool. As far as Jupyter notebook is concerned one of the most popular thing told to do among data scientists is to add Jupyter Notebook extensions. It extends the functionality of the notebook right from hinting to complete the code , displaying the time it took to execute the code to changing themes of the note book a variety of extensions are available
JUPYTER NOTE BOOK EXTENSIONS
Run the following in a command prompt:
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
Once you click on the Nbextension tab the following will appear:
Do scroll down you will find more details as below :
Hinterland
Enable code autocompletion menu for every keypress in a code cell, instead of only calling it with tab.
The nbextension adds an item to the help menu to turn auto-hinting on and off, and offers some options for configuration:
Options
· hinterland.hint_delay
: delay in milliseconds between keypress & hint request. This is used to help ensure that the character from the keypress is added to the CodeMirror editor before the hint request checks the character preceding the cursor against the regexes below.
· hinterland.enable_at_start
: Whether to enable hinterland’s continuous hinting when notebook is first opened, or if false, only when selected from the help-menu item.
· hinterland.hint_inside_comments
: Whether to request hints while typing code comments. Defaults to false.
· hinterland.exclude_regexp
: A regular expression tested against the character before the cursor, which, if a match occurs, prevents autocompletion from being triggered. This is useful, for example, to prevent triggering autocomplete on a colon, which is included by the default Completer.reinvoke pattern. If blank, no test is performed. Note that the regex will be created without any flags, making it case sensitive.
· hinterland.include_regexp
: A regular expression tested against the character before the cursor, which must match in order for autocompletion to be triggered. If left blank, the value of the notebook’s Completer.reinvoke_re
parameter is used, which can be modified by kernels, but defaults to /[%0-9a-z._/\\:~-]/i
. Note that although the Completer.reinvoke_re
default is case insensitive by virtue of its /i
flag, any regex specified by the user will be created without any flags, making it case sensitive.
· hinterland.tooltip_regexp
: A regular expression tested against the character before the cursor, which if it matches, causes a tooltip to be triggered, instead of regular autocompletion. For python, this is useful for example for function calls, so the default regex matches opening parentheses. Note that the regex will be created without any flags, making it case sensitive.
Some other suggested extensions
Execute Time
Snippets
Table of contents
Qgrid
Jupyter themes
Conclusion
The key is to spend some quality time with the Jupyter Note book & Jupyter Note book extensions and figure out which ones you will like to use and improve your productivity. All said and done we all have a very long way to go and thanks for reading through believing it would add some value.