Code Challenge 57 - Analyze Olympic Games Data With Pandas - Review

PyBites, Fri 09 November 2018, Challenges

Anaconda, API, challenges, code challenge, Counter, csv, database, git, GUI, IP address, JSON, Jupyter, Kaggle, matplotlib, Olympic Games, Pandas, Plotly, PRAW, PyQt5, reddit, Seaborn, SequenceMatcher, statistics

In this article we review last week's Analyze Olympic Games Data With Pandas code challenge.

Community Pull Requests

Another 12 PRs this week, cool!

[[email protected] challenges (community)]$ git pull origin community
 * branch            community  -> FETCH_HEAD
   028277e..3873c66  community  -> origin/community
Updating 028277e..3873c66
 45 files changed, 37652 insertions(+), 2 deletions(-)

Check out the awesome PRs by our community for PCC57 (or from fork: git checkout community && git merge upstream/community):

Read Code for Fun and Profit

You can look at all submitted code here and/or on our Community branch.

Here are the Pythonic learnings we spotted in Pull Requests made during the last week:


Learned about difflib SequenceMatcher and collections Counter. - PR


I finally worked with an API in python, I found little more information about working of unittests, got to know little more about CSV module. - PR


learned about the IP address lookup API - PR

I learn how to make http request to remote database (in this project used RIPE DB) and how to parse JSON output from DB - PR

Learned how to use PRAW module to interact with Reddit API. Managed to get the top topic submissions per valid subreddit topic. - PR


I learned how to use PyQt5, python GUI framework. I managed to get familiar on views events, especially on click. Also, managed to play with PyQt5.QtWebEngineWidgets to load a webpage of a given URL - PR


Gained more experience representing datetime objects as strings in the format I want them, used error handling to make my code more concise, and found the useful string method splitlines() which gives a list of all strings separated by newlines. I can easily insert an element into the list and then reform the list into file contents. This is much easier than parsing through a string of all the file contents to find a certain location. - PR


Nice one to get back into Pandas, this helped: - still some work to be done like merging countries and more plotting, but moving on for now. - PR

Definitely. Learned that I still have a lot to learn about Pandas :) - PR

The Git was the most challenging part - but good practice! I got a little distracted trying to solve new problems. - PR

Thanks to everyone for your participation in our blog code challenges! Keep the PRs coming and include a with one or more screenshots if you want to be featured in this weekly review post.

Become a Python Ninja

Master Python through Code Challenges:

Keep Calm and Code in Python!

-- Bob and Julian

PyBites Python Tips

Do you want to get 250+ concise and applicable Python tips in an ebook that will cost you less than 10 bucks (future updates included), check it out here.

Get our Python Tips Book

"The discussions are succinct yet thorough enough to give you a solid grasp of the particular problem. I just wish I would have had this book when I started learning Python." - Daniel H

"Bob and Julian are the masters at aggregating these small snippets of code that can really make certain aspects of coding easier." - Jesse B

"This is now my favourite first Python go-to reference." - Anthony L

"Do you ever go on one of those cooking websites for a recipe and have to scroll for what feels like an eternity to get to the ingredients and the 4 steps the recipe actually takes? This is the opposite of that." - Sergio S

Get the book