Image by Pexels from Pixabay

Documentation for building a Pandas Dataframe from the FPL API, and running a value analysis on 19/20 season

As of the writing of this tutorial, before match week 30+, I’m ranked #3,919 in the world in Fantasy Premier League Soccer (team: Yin Aubameyang), which equates to the top 0.05% in the world.

It didn’t happen by accident, and it wasn’t all luck.

It’s taken several years of playing this game to learn the patience, skill, and strategy required to succeed. From #1,181,262 in 2011/12 to #39,804 in 2018/19, and now #3,919 in 2019/20 with 8 GWs left:

Documentation for Scraping YouTube’s Infinite Page Scroll with Python’s Selenium package, and ranking Joe Rogan Experience Podcast Videos by popularity.

Elon smoking on the JRE Podcast

So I was minding my own business one day when out of the blue — wham! I decided I needed to learn how to scrape YouTube.

I had a great idea. I was going to scrape Joe Rogan’s YouTube page and create some interesting visualizations and insights based on my scrape. Interesting little questions popped into my head like:

  • Most popular guests?
  • Guests with most repeats?
  • Timeline of Joe’s popularity on YouTube?

I whipped out my trusty web-scraping package, BeautifulSoup, and started working on scraping.

But then I encountered a big problem: page loading.

I didn’t know what to do!

Image by Free-Photos from Pixabay
Image by Free-Photos from Pixabay
Image by Free-Photos from Pixabay

Documentation for Creating a Master DataFrame of All Player Gameweek Histories for the Current Season, and All Past Season Histories

Howdy folks. Seems my first FPL API tutorial was a hit, so I’m back with another Python/Pandas Fantasy Premier League API tutorial for you all.

This time, we’ll be creating two different DataFrames: (1) a DataFrame that contains the current season’s gameweek histories for each player and (2) a DataFrame that contains all past season histories for each player.

This will be an excellent introduction into using the Requests package to hit an API endpoint and build a DataFrame, and an equally excellent introduction into using a Python “For Loop” to iterate over a sequence of player id’s and hit…

A short tutorial on how to fail epically at Fantasy Soccer

Hi, my name is David. And I’m really bad at fantasy soccer.

I used to be pretty good, actually. In 2018/19, I finished #39,804 overall. Then, in 2019/20, I finished #1,144 overall. Pretty good stuff by many standards!

Now, I’m really, really bad. #5,132,692 bad.

If you want to be this bad, you can be. It’s not easy. But lucky for you, I’ve recently collected the experience, and I’ll be happy to share it with you!

In this short tutorial, I’ll share with you THE FIVE STEPS TO BECOMING REALLY, REALLY BAD AT FANTASY SOCCER.

Let’s dive in!

Step 1: Think you are good.

The first…

AKA The Art of the Hustle: One man’s approach for turning time into money

A text message from the subject: Brandon.

It’s 9am and Brandon’s is texting me again about his latest grab. He’s just made $80, flipping a free item he discovered on Craigslist for cold, hard cash. It’s only 9am, but he’s already made $80, and for only 2 hours of his time.

The day before, he was texting me about a set of faux leather chairs and an ottoman he found on Facebook Marketplace. He sold the whole set an hour after he picked it up for $100.

Then there was the pouf ottoman he found on a curb while picking up a used Cabela’s cooler. He flipped…

Documentation for everything you need to set up your machine with Jupyter Notebooks and start programming in Python, Pandas, and other exciting data analysis packages.

Working with Python in a Jupyter notebook is — atleast to me — the fastest and most rewarding way to get started with programming. The combination of Python, Pandas, and Jupyter will open up a new world of data analysis, visualization, and exploration into the great wide world of data and programming.

In my opinion — as a person who still sees my own history as a beginner in the rear-view mirror — it’s the PERFECT onboarding ramp for someone new to programming.

It’s even more perfect if you are coming into programming in Pandas/Python/Jupyter by way of Excel. …

How to Create a Simple Line Plot, add Axis Labels and Title, Customize Axis Ticks, add a Second Line Plot, and add a Legend

Documentation for how to create a common visualization using Python, Jupyter Notebook, and Pandas.

This documentation assumes some familiarity with these tools, but not too much. You really just need to be able to get a notebook open and use a keyboard to succeed here.

Let’s dive in!

Documentation for creating a Pandas Dataframe from an API

Translating JSON structured data from and API into a Pandas Dataframe is one of the first skills you’ll need to expand your fledging Jupyter/Pandas skillsets. It’s an exciting skill to learn because it opens up a world of new data to explore and analyze. How fun. What are you waiting for? Just do it.

Translating one of Excel’s most useful tools into Python/Pandas

A pivot table is an incredibly useful tool for organizing a large set of data into a statistical summary of that same data set.

But you probably already know this. You are here because you’d like to learn how to translate one of your favorite techniques for summarizing data in an Excel workbook into a Jupyter Notebook. Let’s dive in.

In this article, I’ll review what MTHFR polymorphisms are, how to figure out if you have one of these polymorphisms, and where to learn more about what you can do if you have a polymorphism that impacts MTHFR enzyme activity.

Image by Gerd Altmann from Pixabay

First, let’s define MTHFR:

MTHFR = Methylenetetrahydrofolate reductase.

MTHFR is an enzyme that breaks down the amino acid homocysteine. will sell you a kit to decode your DNA. Once you purchase (use this link to buy one from Amazon) and complete the procedure, you can look at your MTHFR results easily.

From the 23andme blog:

“Here’s what…

David Allen

Documentation and tutorials on Python, Programming, and Data Analysis.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store