{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "8a00c51f", "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "id": "64434e78", "metadata": {}, "outputs": [], "source": [ "df = pd.read_json('data.json')" ] }, { "cell_type": "code", "execution_count": 12, "id": "8c25de71", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
titlecomposeryeartypegenrekeypageslevelindex
8661Passacaglia et Thema Fugatum, BWV 582Johann Sebastian Bach1708soloclassicala-minor1118661
5583Menuet G Major, BWV Anh. 114Johann Sebastian Bach1725soloclassicalg-major2225583
12203Menuet A Minor, BWV Anh. 120Johann Sebastian Bach1725soloclassicala-minor22512203
8550Marsch D-Dur, BWV Anh. 122Carl Philipp Emanuel Bach1730soloclassicald-major1258550
8950Air F Major, BWV Anh. 131Johann Christian Bach-1soloclassicalf-major1258950
..............................
10613Partita in G Minor, BWV 1004: 5. CiacconaJohann Sebastian Bach1720soloclassicalg-minor127910613
9813Partita in A Major, BWV 1006: 1. PreludioJohann Sebastian Bach1720soloclassicala-major6799813
1398Prelude A-flat Major, BWV 886Johann Sebastian Bach1740soloclassicalas-major4801398
3146Fugue C-sharp Major, BWV 872Johann Sebastian Bach1740soloclassicalcis-major2803146
4311Partita in E Minor, BWV 1002: 1. AllemandaJohann Sebastian Bach1720soloclassicale-minor2804311
\n", "

524 rows × 9 columns

\n", "
" ], "text/plain": [ " title composer \\\n", "8661 Passacaglia et Thema Fugatum, BWV 582 Johann Sebastian Bach \n", "5583 Menuet G Major, BWV Anh. 114 Johann Sebastian Bach \n", "12203 Menuet A Minor, BWV Anh. 120 Johann Sebastian Bach \n", "8550 Marsch D-Dur, BWV Anh. 122 Carl Philipp Emanuel Bach \n", "8950 Air F Major, BWV Anh. 131 Johann Christian Bach \n", "... ... ... \n", "10613 Partita in G Minor, BWV 1004: 5. Ciaccona Johann Sebastian Bach \n", "9813 Partita in A Major, BWV 1006: 1. Preludio Johann Sebastian Bach \n", "1398 Prelude A-flat Major, BWV 886 Johann Sebastian Bach \n", "3146 Fugue C-sharp Major, BWV 872 Johann Sebastian Bach \n", "4311 Partita in E Minor, BWV 1002: 1. Allemanda Johann Sebastian Bach \n", "\n", " year type genre key pages level index \n", "8661 1708 solo classical a-minor 1 11 8661 \n", "5583 1725 solo classical g-major 2 22 5583 \n", "12203 1725 solo classical a-minor 2 25 12203 \n", "8550 1730 solo classical d-major 1 25 8550 \n", "8950 -1 solo classical f-major 1 25 8950 \n", "... ... ... ... ... ... ... ... \n", "10613 1720 solo classical g-minor 12 79 10613 \n", "9813 1720 solo classical a-major 6 79 9813 \n", "1398 1740 solo classical as-major 4 80 1398 \n", "3146 1740 solo classical cis-major 2 80 3146 \n", "4311 1720 solo classical e-minor 2 80 4311 \n", "\n", "[524 rows x 9 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df['composer'].str.endswith('Bach')].sort_values('level')" ] }, { "cell_type": "code", "execution_count": 21, "id": "b07bf26e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "composer\n", "Johann Sebastian Bach 474\n", "Georg Friedrich Händel 261\n", "Pam Wedgwood 250\n", "Anonymous 226\n", "Christopher Norton 166\n", "Wolfgang Amadeus Mozart 148\n", "Toby Fox 137\n", "Ludwig van Beethoven 130\n", "Queen 118\n", "Lin Marsh 90\n", "Paul Harris 83\n", "Elissa Milne 83\n", "Stevie Wonder 81\n", "Johannes Brahms 80\n", "Brian Crain 77\n", "Robbie Williams 74\n", "Muse 70\n", "Robert Schumann 66\n", "Frédéric Chopin 64\n", "George Gershwin 64\n", "Cole Porter 63\n", "Kyle Landry 62\n", "Radiohead 58\n", "Take That 53\n", "Dennis Alexander 52\n", "dtype: int64" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('composer').size().sort_values(ascending=False).head(25)" ] }, { "cell_type": "code", "execution_count": null, "id": "a9bab53a", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.4" } }, "nbformat": 4, "nbformat_minor": 5 }