Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kojix2/d034e6689f356db773ae6ab963666c91 to your computer and use it in GitHub Desktop.
Save kojix2/d034e6689f356db773ae6ab963666c91 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Finding and plotting the most heard artists on last.fm\n",
"\n",
"This notebook is a super basic use case of daru for finding a plotting the most heard artists from a dataset from last.fm.\n",
"\n",
"For detailed and in-depth examples see the other notebooks."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"false"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"require 'daru'"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<b> Daru::DataFrame(2500x6) </b>\n",
"<table>\n",
" <thead>\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>userid</th>\n",
" \n",
" <th>timestamp</th>\n",
" \n",
" <th>artid</th>\n",
" \n",
" <th>artname</th>\n",
" \n",
" <th>traid</th>\n",
" \n",
" <th>traname</th>\n",
" \n",
" </tr>\n",
" \n",
"</thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:55:00Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>0138547f-374d-49d4-8f1c-9b2c8b5c65c0</td>\n",
" \n",
" <td>X-Ray Eyes</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:51:28Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>22ce9a32-3510-4c8e-8151-c044a62eb4fd</td>\n",
" \n",
" <td>Hard Times</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:46:55Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>22ce9a32-3510-4c8e-8151-c044a62eb4fd</td>\n",
" \n",
" <td>Hard Times</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:42:17Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>c386b85f-1bfe-4038-b323-cb8229ab2f8b</td>\n",
" \n",
" <td>Magic Touch</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:37:53Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>8ec9b4f8-2d1b-4616-9ae4-4711ca328fc3</td>\n",
" \n",
" <td>Charisma</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:33:37Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>ff47d82e-313d-4bd0-8e61-fe61124a361b</td>\n",
" \n",
" <td>Dirty Livin'</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>6</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:29:39Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>3621800b-87b7-43c6-b6a3-47ea4b658407</td>\n",
" \n",
" <td>Sure Know Something</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>7</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:24:46Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>91cc5010-e65b-4f49-94b5-1deed61cfcc7</td>\n",
" \n",
" <td>2,000 Man</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>8</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:20:17Z</td>\n",
" \n",
" <td>e1f1e33e-2e4c-4d43-b91b-7064068d3283</td>\n",
" \n",
" <td>Kiss</td>\n",
" \n",
" <td>daa13e72-9056-476f-b431-335b2c26842d</td>\n",
" \n",
" <td>I Was Made For Lovin' You</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>9</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:16:20Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>1895c79d-ae5f-40bf-bc18-83fdcd8d2842</td>\n",
" \n",
" <td>Burning Of The Midnight Lamp</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>10</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:12:35Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>1ae3c250-7b16-49d4-9c71-0928724eecce</td>\n",
" \n",
" <td>Gypsy Eyes</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>11</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:08:26Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>fca63fe0-c9e6-4347-92b7-21f6cf79226c</td>\n",
" \n",
" <td>Come On, Part 1</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>12</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:04:59Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>36beb31d-ed74-4a49-832f-a4a38dc96bab</td>\n",
" \n",
" <td>Long Hot Summer Night</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>13</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T12:02:08Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>4ad6064e-7d54-49a2-a134-320a1612ee27</td>\n",
" \n",
" <td>Little Miss Strange</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>14</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T11:47:07Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>40ffef8e-b851-473a-a239-08685eab22b0</td>\n",
" \n",
" <td>Voodoo Chile</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>15</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T11:44:43Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>feb64d01-6e05-4974-bb44-0046deca1bdb</td>\n",
" \n",
" <td>Crosstown Traffic</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>16</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T11:42:35Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>7f9b462a-8ac5-472d-a5aa-716b3b3d169c</td>\n",
" \n",
" <td>Have You Ever Been (To Electric Ladyland)</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>17</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-03T11:41:13Z</td>\n",
" \n",
" <td>33b3c323-77c2-417c-a5b4-af7e6a111cc9</td>\n",
" \n",
" <td>The Jimi Hendrix Experience</td>\n",
" \n",
" <td>88b57468-8d58-4310-b135-c94620fcfbc1</td>\n",
" \n",
" <td>...And The Gods Made Love</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>18</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T09:24:28Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>788878e0-8965-489e-86e3-add4c1f3d134</td>\n",
" \n",
" <td>Line Of Best Fit</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>19</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T09:19:58Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>7cfc403d-18e7-4b8e-b0c4-1864ca393fbb</td>\n",
" \n",
" <td>Fake Frowns</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>20</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T09:15:03Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>34a2d7ad-6b3a-4cfc-b4ca-edfc55a6685b</td>\n",
" \n",
" <td>Amputations</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>21</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T09:11:21Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>99db2ed6-4493-481c-ac20-54ad323cb04b</td>\n",
" \n",
" <td>The Face That Launched 1000 Shits</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>22</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T09:07:44Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>269084ba-3065-4b43-a733-f491e618b26a</td>\n",
" \n",
" <td>Sleep Spent</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>23</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T09:03:54Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>96fac269-5308-4aee-827f-d01a66674694</td>\n",
" \n",
" <td>Pictures In An Exhibition</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>24</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T08:59:34Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>c29440d9-03e6-4e18-91d6-ef8bf1e1ca32</td>\n",
" \n",
" <td>Your Bruise</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>25</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T08:56:55Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>ed55b695-976e-4898-8fde-51a8e3b0e262</td>\n",
" \n",
" <td>Champagne From A Paper Cup</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>26</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T08:49:07Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>c5238d6d-9b04-496c-8674-4ea7a07aecd6</td>\n",
" \n",
" <td>President Of What?</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>27</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-02T08:44:34Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>bf59dfef-03a8-4270-9456-50df79da56c2</td>\n",
" \n",
" <td>Bend To Squares</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>28</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-01T19:08:37Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>788878e0-8965-489e-86e3-add4c1f3d134</td>\n",
" \n",
" <td>Line Of Best Fit</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>29</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-05-01T19:04:07Z</td>\n",
" \n",
" <td>0039c7ae-e1a7-4a7d-9b49-0cbc716821a6</td>\n",
" \n",
" <td>Death Cab For Cutie</td>\n",
" \n",
" <td>7cfc403d-18e7-4b8e-b0c4-1864ca393fbb</td>\n",
" \n",
" <td>Fake Frowns</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" \n",
" <td>...</td>\n",
" \n",
" <td>...</td>\n",
" \n",
" <td>...</td>\n",
" \n",
" <td>...</td>\n",
" \n",
" <td>...</td>\n",
" \n",
" <td>...</td>\n",
" \n",
" <td>...</td>\n",
" \n",
" </tr>\n",
"\n",
" \n",
"\n",
" <tr>\n",
" <td>2499</td>\n",
" \n",
" <td>user_000705</td>\n",
" \n",
" <td>2009-01-12T15:26:51Z</td>\n",
" \n",
" <td>e0bba708-bdd3-478d-84ea-c706413bedab</td>\n",
" \n",
" <td>A. R. Rahman</td>\n",
" \n",
" <td></td>\n",
" \n",
" <td>Paper Planes (Dfa Remix)</td>\n",
" \n",
" </tr>\n",
" \n",
"</tbody>\n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(2500x6)>\n",
" userid timestamp artid artname traid traname\n",
" 0 user_00070 2009-05-03 e1f1e33e-2 Kiss 0138547f-3 X-Ray Eyes\n",
" 1 user_00070 2009-05-03 e1f1e33e-2 Kiss 22ce9a32-3 Hard Times\n",
" 2 user_00070 2009-05-03 e1f1e33e-2 Kiss 22ce9a32-3 Hard Times\n",
" 3 user_00070 2009-05-03 e1f1e33e-2 Kiss c386b85f-1 Magic Touc\n",
" 4 user_00070 2009-05-03 e1f1e33e-2 Kiss 8ec9b4f8-2 Charisma\n",
" 5 user_00070 2009-05-03 e1f1e33e-2 Kiss ff47d82e-3 Dirty Livi\n",
" 6 user_00070 2009-05-03 e1f1e33e-2 Kiss 3621800b-8 Sure Know \n",
" 7 user_00070 2009-05-03 e1f1e33e-2 Kiss 91cc5010-e 2,000 Man\n",
" 8 user_00070 2009-05-03 e1f1e33e-2 Kiss daa13e72-9 I Was Made\n",
" 9 user_00070 2009-05-03 33b3c323-7 The Jimi H 1895c79d-a Burning Of\n",
" 10 user_00070 2009-05-03 33b3c323-7 The Jimi H 1ae3c250-7 Gypsy Eyes\n",
" 11 user_00070 2009-05-03 33b3c323-7 The Jimi H fca63fe0-c Come On, P\n",
" 12 user_00070 2009-05-03 33b3c323-7 The Jimi H 36beb31d-e Long Hot S\n",
" 13 user_00070 2009-05-03 33b3c323-7 The Jimi H 4ad6064e-7 Little Mis\n",
" 14 user_00070 2009-05-03 33b3c323-7 The Jimi H 40ffef8e-b Voodoo Chi\n",
" ... ... ... ... ... ... ..."
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"require 'open-uri'\n",
"content = open('https://raw.githubusercontent.com/v0dro/daru/master/spec/fixtures/music_data.tsv')\n",
"df = Daru::DataFrame.from_csv content, col_sep: \"\\t\"\n",
"df.vectors = Daru::Index.new(df.vectors.to_a.map(&:to_sym))\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<b> Daru::Vector(376) </b>\n",
"<table>\n",
" <thead>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>size</th>\n",
" </tr>\n",
" \n",
"</thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>3 Doors Down</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>A Perfect Circle</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>A. R. Rahman</td>\n",
" <td>231</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Abba</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Aditi Singh Sharma</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Aerosmith</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Air</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Akurat</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Alanis Morissette</td>\n",
" <td>5</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Alice Cooper</td>\n",
" <td>2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Alice In Chains</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Alison Krauss</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Altamiro Carrilho</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Alvin Youngblood Hart</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>America</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Amit Trivedi</td>\n",
" <td>20</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Amon Amarth</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Anathema</td>\n",
" <td>4</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Andrea Bocelli</td>\n",
" <td>16</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Andrea Bocelli;Christina Aquilera</td>\n",
" <td>2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Andrea Bocelli;Kenny G</td>\n",
" <td>2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Andrea Bocelli;Mario Reyes</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Andrew Lloyd Webber</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Anton Maiden</td>\n",
" <td>2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Antsy Pants</td>\n",
" <td>2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Apocalyptica</td>\n",
" <td>9</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Archive</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Arctic Monkeys</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Aretha Franklin</td>\n",
" <td>4</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>Asia</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" \n",
" <tr><td>...</td><td>...</td></tr>\n",
" <tr>\n",
" <td>375</td>\n",
" <td>32</td>\n",
" </tr>\n",
" \n",
"</tbody>\n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(376)>\n",
" size\n",
" 3 Doors Down 3\n",
" A Perfect Circle 1\n",
" A. R. Rahman 231\n",
" Abba 1\n",
" Aditi Singh Sharma 3\n",
" Aerosmith 1\n",
" Air 1\n",
" Akurat 1\n",
" Alanis Morissette 5\n",
" Alice Cooper 2\n",
" Alice In Chains 1\n",
" Alison Krauss 1\n",
" Altamiro Carrilho 1\n",
" Alvin Youngblood Har 3\n",
" America 1\n",
" ... ..."
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Group by artist name and call 'size' to see the number of rows each artist populates.\n",
"artists = df.group_by(:artname).size"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<b> Daru::Vector(1) </b>\n",
"<table>\n",
" <thead>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>size</th>\n",
" </tr>\n",
" \n",
"</thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <td>A. R. Rahman</td>\n",
" <td>231</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
"</tbody>\n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(1)>\n",
" size\n",
" A. R. Rahman 231"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"artists.max_index"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div id='vis-e0647444-7729-4368-b6d0-0ea6c6abbbcc'></div>\n",
"<script>\n",
"(function(){\n",
" var render = function(){\n",
" var model = {\"panes\":[{\"diagrams\":[{\"type\":\"bar\",\"options\":{\"x\":\"data0\",\"y\":\"data1\"},\"data\":\"816125b9-e3ea-49ea-a6c1-fb481f332b19\"}],\"options\":{\"yrange\":[0,300],\"width\":1120,\"height\":800,\"legend\":true,\"rotate_x_label\":45,\"xrange\":[\"A. R. Rahman\",\"Death Cab For Cutie\",\"Pink Floyd\",\"The Rolling Stones\",\"Opeth\",\"The Beatles\",\"The Cranberries\",\"Cat Stevens\",\"Howard Shore\",\"Nick Drake\"]}}],\"data\":{\"816125b9-e3ea-49ea-a6c1-fb481f332b19\":[{\"data0\":\"A. R. Rahman\",\"data1\":231},{\"data0\":\"Death Cab For Cutie\",\"data1\":206},{\"data0\":\"Pink Floyd\",\"data1\":158},{\"data0\":\"The Rolling Stones\",\"data1\":91},{\"data0\":\"Opeth\",\"data1\":89},{\"data0\":\"The Beatles\",\"data1\":67},{\"data0\":\"The Cranberries\",\"data1\":61},{\"data0\":\"Cat Stevens\",\"data1\":57},{\"data0\":\"Howard Shore\",\"data1\":56},{\"data0\":\"Nick Drake\",\"data1\":51}]},\"extension\":[]}\n",
" var id_name = '#vis-e0647444-7729-4368-b6d0-0ea6c6abbbcc';\n",
" Nyaplot.core.parse(model, id_name);\n",
"\n",
" require(['downloadable'], function(downloadable){\n",
" var svg = d3.select(id_name).select(\"svg\");\n",
"\t if(!svg.empty())\n",
"\t svg.call(downloadable().filename('fig'));\n",
"\t});\n",
" };\n",
" if(window['Nyaplot']==undefined){\n",
" window.addEventListener('load_nyaplot', render, false);\n",
"\treturn;\n",
" } else {\n",
" render();\n",
" }\n",
"})();\n",
"</script>\n"
],
"text/plain": [
"#<Nyaplot::Plot:0x000056215cebd5d8 @properties={:diagrams=>[#<Nyaplot::Diagram:0x000056215cec3aa0 @properties={:type=>:bar, :options=>{:x=>\"data0\", :y=>\"data1\"}, :data=>\"816125b9-e3ea-49ea-a6c1-fb481f332b19\"}, @xrange=[\"A. R. Rahman\", \"Death Cab For Cutie\", \"Pink Floyd\", \"The Rolling Stones\", \"Opeth\", \"The Beatles\", \"The Cranberries\", \"Cat Stevens\", \"Howard Shore\", \"Nick Drake\"], @yrange=[0, 231]>], :options=>{:yrange=>[0, 300], :width=>1120, :height=>800, :legend=>true, :rotate_x_label=>45, :xrange=>[\"A. R. Rahman\", \"Death Cab For Cutie\", \"Pink Floyd\", \"The Rolling Stones\", \"Opeth\", \"The Beatles\", \"The Cranberries\", \"Cat Stevens\", \"Howard Shore\", \"Nick Drake\"]}}>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"top_ten = artists.sort(ascending: false).head\n",
"\n",
"top_ten.plot type: :bar do |plt|\n",
" plt.yrange [0,300]\n",
" plt.width 1120 \n",
" plt.height 800\n",
" plt.legend true\n",
" plt.rotate_x_label 45\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Ruby 2.6.1",
"language": "ruby",
"name": "ruby"
},
"language_info": {
"file_extension": ".rb",
"mimetype": "application/x-ruby",
"name": "ruby",
"version": "2.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment