This commit is contained in:
olari
2021-07-09 15:16:23 +03:00
commit 1200c80112
265 changed files with 942 additions and 0 deletions

315
notebook.ipynb Normal file
View File

@@ -0,0 +1,315 @@
{
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>title</th>\n",
" <th>composer</th>\n",
" <th>year</th>\n",
" <th>type</th>\n",
" <th>genre</th>\n",
" <th>key</th>\n",
" <th>pages</th>\n",
" <th>level</th>\n",
" <th>index</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>8661</th>\n",
" <td>Passacaglia et Thema Fugatum, BWV 582</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1708</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>a-minor</td>\n",
" <td>1</td>\n",
" <td>11</td>\n",
" <td>8661</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5583</th>\n",
" <td>Menuet G Major, BWV Anh. 114</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1725</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>g-major</td>\n",
" <td>2</td>\n",
" <td>22</td>\n",
" <td>5583</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12203</th>\n",
" <td>Menuet A Minor, BWV Anh. 120</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1725</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>a-minor</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>12203</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8550</th>\n",
" <td>Marsch D-Dur, BWV Anh. 122</td>\n",
" <td>Carl Philipp Emanuel Bach</td>\n",
" <td>1730</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>d-major</td>\n",
" <td>1</td>\n",
" <td>25</td>\n",
" <td>8550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8950</th>\n",
" <td>Air F Major, BWV Anh. 131</td>\n",
" <td>Johann Christian Bach</td>\n",
" <td>-1</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>f-major</td>\n",
" <td>1</td>\n",
" <td>25</td>\n",
" <td>8950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10613</th>\n",
" <td>Partita in G Minor, BWV 1004: 5. Ciaccona</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1720</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>g-minor</td>\n",
" <td>12</td>\n",
" <td>79</td>\n",
" <td>10613</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9813</th>\n",
" <td>Partita in A Major, BWV 1006: 1. Preludio</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1720</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>a-major</td>\n",
" <td>6</td>\n",
" <td>79</td>\n",
" <td>9813</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1398</th>\n",
" <td>Prelude A-flat Major, BWV 886</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1740</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>as-major</td>\n",
" <td>4</td>\n",
" <td>80</td>\n",
" <td>1398</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3146</th>\n",
" <td>Fugue C-sharp Major, BWV 872</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1740</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>cis-major</td>\n",
" <td>2</td>\n",
" <td>80</td>\n",
" <td>3146</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4311</th>\n",
" <td>Partita in E Minor, BWV 1002: 1. Allemanda</td>\n",
" <td>Johann Sebastian Bach</td>\n",
" <td>1720</td>\n",
" <td>solo</td>\n",
" <td>classical</td>\n",
" <td>e-minor</td>\n",
" <td>2</td>\n",
" <td>80</td>\n",
" <td>4311</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>524 rows × 9 columns</p>\n",
"</div>"
],
"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
}