Block Heap

Web Developer's Blog

Parse and Analyze Spotify Data with Pandas Library

We chose Pandas for its ability to read and write data between in-memory data structures and different formats. Pandas makes manipulating and analyzing data a breeze.

This is a continuation of Brief intro into Spotify Web API with Spotipy Python library where we used Spotify’s API to download data to a CSV file. Follow the steps in that article to create your own CSV or use our demo file.


1. Setup project files and dependencies

i. Create directory and change to that directory

    cd /Users/Charlie/
    mkdir spotify-part-1
    cd /spotify-part-1

ii. Download the demo CSV file and upload to your new directory
iii. Install Pandas Data Analysis Library (documentation)
iv. Create directory and change to that directory
v. Install pandas dependency with pip package installer

    pip install pandas


2. Start programming

    #!/usr/bin/env python3

    import pandas as pd
    music = pd.read_csv("saved-tracks.csv")

    def tracks_by_name(music=zip(music.artists,, artist='Matt Costa'):
        """ Track(s) using artist name """
        tl = []
        for t in music:
            if t[0] == artist:
                tl.append(f'{t[1]} by {t[0]}')
        return tl

    def tracks_by_energy(music=zip(music.artists,,
        """ Tracks greater than 0.8 energy """
        tl = []
        for t in music:
            if t[2] > 0.8:
                tl.append(f'{t[1]} by {t[0]} | Energy: {t[2]}')
        return tl


3. Install and launch iPython. I recommend keeping iPython as a part of your global libraries and not in your virtual environment. Don’t forget to ‘run’ every time you make edits, in this case

    pip install ipython


4. Get tracks by artist name

    tracks = tracks_by_name()


5. Get high energy tracks

    tracks = energy_tracks()

Example Source Files

Leave a Reply

Your email address will not be published.