Getting Fancy With Python
Warning
You needn’t do any of the following for course credit…
Tip
… but it might be useful down the road to take a quick peek at whats out there!
When I started with Python I found software shopping to be intimidating, all this new software solving problems I didn’t even know existed! My purpose in sharing them is just to give a quick sense of what’s out there which might serve you in DS in the future. You can always spend the time mastering these libraries when the need comes. For now, just knowing they exist and a rough sense of what they do is a good place to be.
Some of my favorite “extra” python modules
There are plenty of useful python modules to install, here’s a list of some one’s which are slightly off the beaten path which I wish I knew about sooner in my own programming (in no particular order):
nbopen open an ipynb by double clicking in file browser
tqdm progress bar
joblib parallel processing (and caching)
sortedcontainers these objects can easily be an elephant gun, there’s a reason python doesn’t offer them in the standard library
RISE turn your jupyter notebook into a slideshow
this is the one I use in class. Great for your final project presentation, if you choose to use it.
I’ve linked to source, but they’re all in pypi so you can just install via pip install nbopen
or similar.
But wait, there’s more! Don’t forget, you’ve always got these fun ones in the standard python library (no installation required, just import bisect
and off you go!):
bisect bisect algorithm
collections lots of fun ones in there! namedTuple, defaultdict, deque and Counter are all worth a look
itertools offers some clever ways of iterating more gracefully