In [2]:
(import pylast)
(import pandas)
(import matplotlib)
(import seaborn)
In [3]:
%matplotlib notebook
In [4]:
(def net (pylast.LastFMNetwork :api-key LAST_API_KEY :api-secret LAST_API_SEC))
In [6]:
(net.get-artist "System of a Down")
Out[6]:
pylast.Artist('System of a Down', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c'))
In [6]:
(net.get-top-tracks)
Out[6]:
[TopItem(item=pylast.Track('Dua Lipa', 'New Rules', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1695797), TopItem(item=pylast.Track('Post Malone', 'Rockstar', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=524904), TopItem(item=pylast.Track('Camila Cabello', 'Havana', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1400101), TopItem(item=pylast.Track('Portugal. The Man', 'Feel It Still', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=920211), TopItem(item=pylast.Track('Taylor Swift', 'Look What You Made Me Do', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=2253718), TopItem(item=pylast.Track('Sam Smith', 'Too Good at Goodbyes', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=470070), TopItem(item=pylast.Track('Kendrick Lamar', 'HUMBLE.', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=2197321), TopItem(item=pylast.Track('Ed Sheeran', 'Shape of You', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=3222078), TopItem(item=pylast.Track('Imagine Dragons', 'Thunder', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1192967), TopItem(item=pylast.Track('Maroon 5', 'What Lovers Do (feat. SZA)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=331046), TopItem(item=pylast.Track('P!nk', 'What About Us', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=518046), TopItem(item=pylast.Track('Taylor Swift', 'Gorgeous', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=307359), TopItem(item=pylast.Track('Demi Lovato', 'Sorry Not Sorry', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1288395), TopItem(item=pylast.Track('Zayn', 'Dusk Till Dawn - Radio Edit', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=399790), TopItem(item=pylast.Track('Ed Sheeran', 'Perfect', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=655180), TopItem(item=pylast.Track('Marshmello', 'Silence', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=325737), TopItem(item=pylast.Track('The Killers', 'Mr. Brightside', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16666898), TopItem(item=pylast.Track('Logic', '1-800-273-8255', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=537244), TopItem(item=pylast.Track('Selena Gomez', 'Wolves', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=213594), TopItem(item=pylast.Track('Nirvana', 'Smells Like Teen Spirit', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=14984085), TopItem(item=pylast.Track('St. Vincent', 'Pills', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=112373), TopItem(item=pylast.Track('Arctic Monkeys', 'Do I Wanna Know?', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=10818137), TopItem(item=pylast.Track('Kendrick Lamar', 'DNA.', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1560401), TopItem(item=pylast.Track('St. Vincent', 'Los Ageless', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=188446), TopItem(item=pylast.Track('Charlie Puth', 'How Long', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=148733), TopItem(item=pylast.Track('The White Stripes', 'Seven Nation Army', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=10920743), TopItem(item=pylast.Track('Calvin Harris', 'Feels', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=821909), TopItem(item=pylast.Track('St. Vincent', 'Hang on Me', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=91164), TopItem(item=pylast.Track('Tame Impala', 'The Less I Know the Better', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=2903625), TopItem(item=pylast.Track('Lorde', 'Green Light', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=2113072), TopItem(item=pylast.Track('Imagine Dragons', 'Believer', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1380938), TopItem(item=pylast.Track('Childish Gambino', 'Redbone', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1352438), TopItem(item=pylast.Track('St. Vincent', 'New York', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=239030), TopItem(item=pylast.Track('Charlie Puth', 'Attention', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=1014281), TopItem(item=pylast.Track('LIL UZI VERT', 'XO TOUR Llif3', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=965826), TopItem(item=pylast.Track('Cardi B', 'Bodak Yellow', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=439726), TopItem(item=pylast.Track('Toto', 'Africa', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=4866628), TopItem(item=pylast.Track('Taylor Swift', '...Ready For It?', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=654779), TopItem(item=pylast.Track('Radiohead', 'Creep', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=13124737), TopItem(item=pylast.Track('Linkin Park', 'In the End', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=11405942), TopItem(item=pylast.Track('St. Vincent', 'Masseduction', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=96554), TopItem(item=pylast.Track('Macklemore', 'Glorious (feat. Skylar Grey)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=349870), TopItem(item=pylast.Track('Gorillaz', 'Feel Good Inc.', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=11094816), TopItem(item=pylast.Track('Kygo', 'Stargazing', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=120143), TopItem(item=pylast.Track('Lil Pump', 'Gucci Gang', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=128153), TopItem(item=pylast.Track('Avicii', 'Lonely Together (feat. Rita Ora)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=271511), TopItem(item=pylast.Track('Khalid', 'Young Dumb & Broke', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=342799), TopItem(item=pylast.Track('Sam Smith', 'Pray', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=111755), TopItem(item=pylast.Track('French Montana', 'unforgettable', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=725259), TopItem(item=pylast.Track('Axwell /\\ Ingrosso', 'More Than You Know', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'AbPYn05iJt_lMNtkgXuG2MFnoRQs_wNb', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=494410)]
In [7]:
(setv tracks (.get-top-tracks (net.get-artist "The XX")))
In [ ]:
(.get_duration (first (first tracks)))
Out[ ]:
128000
In [ ]:
(setv durs (list (map (fn [t] (.get_duration (first t))) tracks)))
In [ ]:
(setv names (list (map (fn [t] (.get_title (first t))) tracks)))
In [ ]:
(setv p_durs (pandas.DataFrame {"names" names "duration" durs}))
In [ ]:
(setv tracks-last (pandas.DataFrame {"names" names "duration" (/ (get p_durs "duration") 60000)}))
In [ ]:
(-> p_durs .plot matplotlib.pyplot.show)
In [ ]:
(seaborn.set :style "whitegrid")
(seaborn.set_context "notebook" :font_scale 1.5 :rc {"lines.linewidth" 2.5})
In [ ]:
(matplotlib.pyplot.show (seaborn.barplot 
                         :data tracks-last 
                         :x "duration" 
                         :y "names" 
                         :palette "BuPu"
                         ))
In [ ]:
(setv meintracks (.get-recent-tracks (net.get-user "tian2992")))
In [ ]:
meintracks
In [134]:
(setv meintracks (.get-recent-tracks (net.get-user "tian2992") 100))
In [ ]:
(setv t_t (first meintracks))
In [ ]:
(setv meintracks (.get-recent-tracks (net.get-user "tian2992")))
In [ ]:
(setv last_track_pd {:timed (list (map (fn [t] (.get_duration (first t))) tracks)) :dates playback_date (list (map (fn[t] (.get)))) })
In [ ]:
(int (get t_t 3))
In [ ]:
(setv track_objs (list (map(fn [t] (first t)) meintracks)))
(setv track_times (list (map (fn [t] (pandas.to_datetime (int (get t 3)) :unit "s")) meintracks)))
In [ ]:
track_times
In [ ]:
(pandas.DataFrame {"times" track_times "tracks" track_objs})
In [ ]:
(def tian_user (net.get-user "tian2992"))
In [ ]:
(help tian_user)
In [6]:
(setv top_tracks (.get-top-tracks (net.get-user "tian2992") :period pylast.PERIOD_12MONTHS :limit 100 ))
In [7]:
top_tracks
Out[7]:
[TopItem(item=pylast.Track('Jamie xx', 'Loud Places', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=115), TopItem(item=pylast.Track('Washed Out', 'Feel It All Around', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=54), TopItem(item=pylast.Track('Lusine', 'Operation Costs', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=53), TopItem(item=pylast.Track('Banks', 'Warm Water - Snakehips Remix', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=52), TopItem(item=pylast.Track('Kings of Convenience', 'Rule My World', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=45), TopItem(item=pylast.Track('Lusine', 'Just a Cloud', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=44), TopItem(item=pylast.Track('Unknown Mortal Orchestra', 'So Good at Being in Trouble', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=43), TopItem(item=pylast.Track('Radiohead', 'Weird Fishes/ Arpeggi', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=42), TopItem(item=pylast.Track('The xx', 'On Hold', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=39), TopItem(item=pylast.Track('Washed Out', 'It All Feels Right', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=37), TopItem(item=pylast.Track('Fleet Foxes', 'Mykonos', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=34), TopItem(item=pylast.Track('Bonobo', 'Cirrus', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=32), TopItem(item=pylast.Track('Tennis', 'My Better Self', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=32), TopItem(item=pylast.Track('Interpol', 'Rest My Chemistry', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=32), TopItem(item=pylast.Track('Radiohead', 'Lotus Flower (Jacques Greene rmx)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=31), TopItem(item=pylast.Track('Toro y Moi', 'Rose Quartz', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=31), TopItem(item=pylast.Track('The Album Leaf', 'False Dawn', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=30), TopItem(item=pylast.Track('Nicola Cruz', 'LA COSECHA', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=30), TopItem(item=pylast.Track('POLIÇA', 'Lately', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=30), TopItem(item=pylast.Track('Kelpe', 'Beaks of Eagles - Original Mix', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=29), TopItem(item=pylast.Track('The Whitest Boy Alive', 'Burning', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=29), TopItem(item=pylast.Track('Radiohead', 'Jigsaw Falling Into Place', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=29), TopItem(item=pylast.Track('Rhye', 'Last Dance', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=29), TopItem(item=pylast.Track('Lo-Fi-Fnk', 'Last Summer', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=29), TopItem(item=pylast.Track('Erlend Øye', 'Sudden Rush', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=29), TopItem(item=pylast.Track('Tame Impala', 'Feels Like We Only Go Backwards', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=28), TopItem(item=pylast.Track('José González', 'Heartbeats', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=28), TopItem(item=pylast.Track('El Ten Eleven', 'My Only Swerving', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=28), TopItem(item=pylast.Track('The xx', 'On Hold (Jamie xx Remix)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=28), TopItem(item=pylast.Track('Dirty Projectors', 'Swing Lo Magellan', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=28), TopItem(item=pylast.Track('Justin Timberlake', 'What Goes Around.../...Comes Around (Interlude)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=28), TopItem(item=pylast.Track('Shigeto', 'Ann Arbor, Part 3 & 4', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=26), TopItem(item=pylast.Track('Connan Mockasin', 'Forever Dolphin Love (Erol Alkan Rework)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=26), TopItem(item=pylast.Track('The xx', 'Islands', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=26), TopItem(item=pylast.Track('Ellen Allien', 'Leave Me Alone', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=26), TopItem(item=pylast.Track('Sylvan Esso', 'Coffee', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=25), TopItem(item=pylast.Track('Thievery Corporation', 'Décollage (feat. Lou Lou Ghelichkhani)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=25), TopItem(item=pylast.Track('Childish Gambino', 'Redbone', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=25), TopItem(item=pylast.Track('Arctic Monkeys', 'Fluorescent Adolescent', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=24), TopItem(item=pylast.Track('Phoenix', 'If I Ever Feel Better', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=24), TopItem(item=pylast.Track('David Lang', 'Light Moving', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=24), TopItem(item=pylast.Track('Hot Chip', 'Look At Where We Are', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=24), TopItem(item=pylast.Track('Kindness', "Swingin' Party", pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=24), TopItem(item=pylast.Track('Tame Impala', 'The Less I Know the Better', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=24), TopItem(item=pylast.Track('Moderat', 'A New Error', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=23), TopItem(item=pylast.Track('The Weeknd', 'I Feel It Coming', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=23), TopItem(item=pylast.Track('Salvia Palth', 'I Was All Over Her', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=23), TopItem(item=pylast.Track('Villagers', 'Nothing Arrived - Live from Spotify London', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=23), TopItem(item=pylast.Track('Courtney Barnett', 'Avant Gardener', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=22), TopItem(item=pylast.Track('These City Lights', 'Crystal Clouds', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=22), TopItem(item=pylast.Track('These City Lights', "I've Tried", pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=22), TopItem(item=pylast.Track('Tennis', 'Petition', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=22), TopItem(item=pylast.Track('cocainejesus', 'She', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=22), TopItem(item=pylast.Track('Rhye', 'The Fall', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=22), TopItem(item=pylast.Track('Hot Chip', 'Crap Kraft Dinner', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=21), TopItem(item=pylast.Track('Sia', 'Elastic Heart - Piano Version', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=21), TopItem(item=pylast.Track('Summer Heart', 'I Wanna Go', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=21), TopItem(item=pylast.Track('Gotye', 'Somebody That I Used to Know', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=21), TopItem(item=pylast.Track('Santana', 'Twisted', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=21), TopItem(item=pylast.Track('Gustavo Cerati', 'Crimen', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=20), TopItem(item=pylast.Track('Bomba Estéreo', 'El alma y el cuerpo', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=20), TopItem(item=pylast.Track('Buena Vista Social Club', 'Lágrimas Negras', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=20), TopItem(item=pylast.Track('::M∆DE::IN::HEIGHTS::', 'Slow Burn', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=20), TopItem(item=pylast.Track('Tennis', 'Tell Her No', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=20), TopItem(item=pylast.Track('Noordpool Orchestra', '15 Step', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=19), TopItem(item=pylast.Track('Metronomy', 'Everything Goes My Way', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=19), TopItem(item=pylast.Track('The National', 'Exile Vilify', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=19), TopItem(item=pylast.Track('SBTRKT', 'Hold On (feat. Sampha)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=19), TopItem(item=pylast.Track('Feist', '1234', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Gorillaz', 'Empire Ants (feat. Little Dragon)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('The xx', 'Fiction', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('These City Lights', 'Houston', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Steve Reich', 'Music for 18 Musicians (modular version): Section I', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Tennis', 'Origins', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Arcade Fire', 'The Suburbs', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Tennis', 'Traveling', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Milosh', 'You Make Me Feel', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=18), TopItem(item=pylast.Track('Air', 'Alone in Kyoto', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('King Krule', 'Border Line', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Johann Sebastian Bach', 'Concerto n°5 en Ré majeur BWV 1050: I. Allegro', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Adriana Figueroa', "It's Over, Isn't It (Steven Universe)", pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('The American Dollar', 'Lost Symphony', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Hall & Oates', 'Out Of Touch - Remastered', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Radio Zumbido', 'Radio Sololá', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Metronomy', 'The Bay', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('BADBADNOTGOOD', 'Time Moves Slow', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Lianne La Havas', 'Tokyo', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Lusine', 'Two Dots', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Sebastián Codex', 'Weird Fishes/Arpeggi', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=17), TopItem(item=pylast.Track('Gorillaz', 'Andromeda (feat. D.R.A.M.)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Justin Timberlake', 'Cry Me a River', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Wolfgang Amadeus Mozart', 'Die Zauberflöte, K.620 : Der Hölle Rache kocht in meinem Herzen (Königin der Nacht)', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Kings of Convenience', "I Don't Know What I Can Save You From", pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Kings of Convenience', 'Know-How', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Chrome Sparks', 'Marijuana', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Keane', 'Nothing in My Way', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Kings of Convenience', 'The Build Up', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Aperture Science Psychoacoustics Laboratory', 'Want You Gone', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=16), TopItem(item=pylast.Track('Tycho', 'Awake', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=15), TopItem(item=pylast.Track('The Dave Brubeck Quartet', 'Bossa Nova U.S.A. - Live', pylast.LastFMNetwork('3c7951c02735171dc66f979733e2f254', '595291e4183382430cb204381705374d', 'OoA-fkNFpm304_DFrM-yOL7DZuWiYgTk', 'tian2992', 'db820015c1b148e1bbd990ba8551bb4c')), weight=15)]
In [8]:
(setv t_top_tracks (list (map(fn [t] (first t)) top_tracks)))
(setv t_t_times (list (map (fn [t] (int (get t 1))) top_tracks)))
In [9]:
(setv t_top_tracks_length (/ (pandas.Series (map(fn [t] (.get_duration t)) t_top_tracks)) 1000))
(setv t_mbids (pandas.Series (map(fn [t] (.get_mbid t)) t_top_tracks)))
In [55]:
(setv fave_tracks (pandas.DataFrame 
                       {
                           "mbid" t_mbids
                           "tracks" t_top_tracks 
                           "song_length" t_top_tracks_length 
                           "times" t_t_times
                       }))
In [1]:
; (assoc fave_tracks [0 "song_lengths"] 283)
; (setv (. fave_tracks loc [(, '(0) (, "song_length"))]) (s-len 4 43)) ;; loud places

(defn len-ms [mins segs] (+ (* 60 mins) segs) )
(defn s-length [in leng] 
      (setv (. fave_tracks loc [(, in (, "song_length"))]) leng)
      )

(s-length 0 (len-ms 4 43))
(s-length 3 (len-ms 4 45))
(s-length 4 (len-ms 4 14))
(s-length 6 (len-ms 5 18))
(s-length 17 (len-ms 5 15))
(s-length 18 (len-ms 4 33))
(s-length 23 (len-ms 3 12))
(s-length 30 (len-ms 7 29))
Traceback (most recent call last):
  File "/home/tian/utz/playlisp/venv/lib/python3.6/site-packages/calysto_hy/kernel.py", line 98, in do_execute_direct
    eval(code, self.env)
  File "In [1]", line 9, in <module>
  File "In [1]", line 6, in s_length
NameError: name 'fave_tracks' is not defined

In [125]:
(assoc fave_tracks "lengths" (list (map (fn [x] (pandas.Timedelta x :unit "s")) (* (get fave_tracks "song_length") (get fave_tracks "times")))))
(assoc fave_tracks "seconds_lengths" (* (get fave_tracks "song_length") (get fave_tracks "times")))
In [118]:
;; (cut fave_tracks 2 5) ;; rows 2 - 5
;;(cut fave_tracks 2 5)
;;(assoc (. fave_tracks loc [0]) "song_length" 265)
In [120]:
fave_tracks
Out[120]:
mbid song_length times tracks lengths seconds_lengths
0 None 283.0 115 Jamie xx - Loud Places 09:02:25 32545.0
1 983f22ca-5d35-4763-a7a6-0c0eadfbd192 192.0 54 Washed Out - Feel It All Around 02:52:48 10368.0
2 None 284.0 53 Lusine - Operation Costs 04:10:52 15052.0
3 None 285.0 50 Banks - Warm Water - Snakehips Remix 03:57:30 14250.0
4 2df91ca8-3b94-495a-8d5d-35f3b53871f0 254.0 45 Kings of Convenience - Rule My World 03:10:30 11430.0
5 8acbf005-4ef6-44b0-b46f-b026c0da12e9 231.0 43 Unknown Mortal Orchestra - So Good at Being in... 02:45:33 9933.0
6 None 0.0 42 Radiohead - Weird Fishes/ Arpeggi 00:00:00 0.0
7 None 332.0 41 Lusine - Just a Cloud 03:46:52 13612.0
8 None 224.0 39 The xx - On Hold 02:25:36 8736.0
9 a1d56aad-ccdc-4916-ae08-6e0a093fd32d 245.0 37 Washed Out - It All Feels Right 02:31:05 9065.0
10 11d92c40-ba2a-4640-9654-63c128e4a446 275.0 34 Fleet Foxes - Mykonos 02:35:50 9350.0
11 b0bbf192-1724-4808-9254-8e95982de3d3 322.0 32 Bonobo - Cirrus 02:51:44 10304.0
12 698779fe-45fc-42e5-992c-3ff346a90614 224.0 32 Tennis - My Better Self 01:59:28 7168.0
13 56228aad-af59-4f26-9e20-34b30a529312 300.0 32 Interpol - Rest My Chemistry 02:40:00 9600.0
14 None 429.0 31 Radiohead - Lotus Flower (Jacques Greene rmx) 03:41:39 13299.0
15 29290563-aed2-4dd0-9a70-cb43d451b177 253.0 31 Toro y Moi - Rose Quartz 02:10:43 7843.0
16 None 321.0 30 The Album Leaf - False Dawn 02:40:30 9630.0
17 None 0.0 30 Nicola Cruz - LA COSECHA 00:00:00 0.0
18 None 0.0 29 Kelpe - Beaks of Eagles - Original Mix 00:00:00 0.0
19 0a73cc35-d391-47ab-93b1-8b852346cec2 191.0 29 The Whitest Boy Alive - Burning 01:32:19 5539.0
20 31600df4-e6dd-48ca-9f6b-8804027d8d6e 249.0 29 Radiohead - Jigsaw Falling Into Place 02:00:21 7221.0
21 47269149-9de9-46dc-8405-e9b5f07ea620 206.0 29 Rhye - Last Dance 01:39:34 5974.0
22 621bb689-c0c0-4259-8966-30bdd69282f7 216.0 29 Lo-Fi-Fnk - Last Summer 01:44:24 6264.0
23 None 0.0 29 POLIÇA - Lately 00:00:00 0.0
24 6f7aee78-a92f-4b96-bfa2-3fb44e1cf8df 204.0 29 Erlend Øye - Sudden Rush 01:38:36 5916.0
25 74bbaf1e-220c-4329-b494-bcfd7da17ec0 193.0 28 Tame Impala - Feels Like We Only Go Backwards 01:30:04 5404.0
26 e9ba89bd-ab94-465a-8c6f-9d37b4b5d2cd 160.0 28 José González - Heartbeats 01:14:40 4480.0
27 None 371.0 28 The xx - On Hold (Jamie xx Remix) 02:53:08 10388.0
28 23307bdc-7e1b-44d0-a7b6-48fecf80a6de 158.0 28 Dirty Projectors - Swing Lo Magellan 01:13:44 4424.0
29 48a2d37b-3c53-4526-a8a7-8fc9475ba3a2 314.0 27 El Ten Eleven - My Only Swerving 02:21:18 8478.0
... ... ... ... ... ... ...
70 c60693eb-0624-4847-968b-f80c745f4505 176.0 18 The xx - Fiction 00:52:48 3168.0
71 None 167.0 18 These City Lights - Houston 00:50:06 3006.0
72 None 0.0 18 Steve Reich - Music for 18 Musicians (modular ... 00:00:00 0.0
73 7c091ab5-360a-4900-a1b7-5f31b2c693d3 208.0 18 Tennis - Origins 01:02:24 3744.0
74 a0c8a6b4-74bf-4c12-b8b7-8f81df881061 314.0 18 Arcade Fire - The Suburbs 01:34:12 5652.0
75 c5ad7462-e222-4753-b2e3-6cf798227c8f 181.0 18 Tennis - Traveling 00:54:18 3258.0
76 db3bc07c-7d94-47aa-b602-7ae2938f930d 283.0 18 Milosh - You Make Me Feel 01:24:54 5094.0
77 f900f8e2-7d49-4cca-a9a9-ee67dda88e6e 285.0 17 Air - Alone in Kyoto 01:20:45 4845.0
78 fa00b670-40cf-4c0b-9b21-f99f6070dcfc 186.0 17 King Krule - Border Line 00:52:42 3162.0
79 None 0.0 17 Johann Sebastian Bach - Concerto n°5 en Ré maj... 00:00:00 0.0
80 None 145.0 17 Adriana Figueroa - It's Over, Isn't It (Steven... 00:41:05 2465.0
81 None 225.0 17 The American Dollar - Lost Symphony 01:03:45 3825.0
82 None 247.0 17 Hall & Oates - Out Of Touch - Remastered 01:09:59 4199.0
83 256a08fd-7455-4052-8750-09f1edd31e6e 285.0 17 Radio Zumbido - Radio Sololá 01:20:45 4845.0
84 1857ed23-14e8-480e-b765-0ee7a7b00374 290.0 17 Metronomy - The Bay 01:22:10 4930.0
85 None 273.0 17 BADBADNOTGOOD - Time Moves Slow 01:17:21 4641.0
86 None 269.0 17 Lianne La Havas - Tokyo 01:16:13 4573.0
87 None 278.0 17 Lusine - Two Dots 01:18:46 4726.0
88 None 0.0 17 Sebastián Codex - Weird Fishes/Arpeggi 00:00:00 0.0
89 None 0.0 16 Gorillaz - Andromeda (feat. D.R.A.M.) 00:00:00 0.0
90 23dd18d5-07da-45c8-8200-0b3e6050fb4d 288.0 16 Justin Timberlake - Cry Me a River 01:16:48 4608.0
91 None 0.0 16 Wolfgang Amadeus Mozart - Die Zauberflöte, K.6... 00:00:00 0.0
92 None 234.0 16 Kings of Convenience - Know-How 01:02:24 3744.0
93 aa6a2582-b3f2-44ca-b31d-76259223c96d 174.0 16 Chrome Sparks - Marijuana 00:46:24 2784.0
94 0428c11e-8682-44a6-a724-3d49a64b5c0d 240.0 16 Keane - Nothing in My Way 01:04:00 3840.0
95 10229224-8a4c-47fa-a09d-6cdf918b46a2 245.0 16 Kings of Convenience - The Build Up 01:05:20 3920.0
96 ef019005-9d5f-477b-885d-21660f441f8c 141.0 16 Aperture Science Psychoacoustics Laboratory - ... 00:37:36 2256.0
97 87e56a40-c267-4e7b-a9c0-6bcb9e569e52 283.0 15 Tycho - Awake 01:10:45 4245.0
98 None 0.0 15 The Dave Brubeck Quartet - Bossa Nova U.S.A. -... 00:00:00 0.0
99 None 0.0 15 Antonio Vivaldi - Concerto in C Minor, RV 199 ... 00:00:00 0.0

100 rows × 6 columns

In [127]:
(fave_tracks.sort_values "lengths" :ascending False)
;(.head fave_tracks 40)
Out[127]:
mbid song_length times tracks lengths seconds_lengths
0 None 283.0 115 Jamie xx - Loud Places 09:02:25 32545.0
2 None 284.0 53 Lusine - Operation Costs 04:10:52 15052.0
3 None 285.0 50 Banks - Warm Water - Snakehips Remix 03:57:30 14250.0
7 None 332.0 41 Lusine - Just a Cloud 03:46:52 13612.0
6 None 318.0 42 Radiohead - Weird Fishes/ Arpeggi 03:42:36 13356.0
14 None 429.0 31 Radiohead - Lotus Flower (Jacques Greene rmx) 03:41:39 13299.0
33 2245f062-f3fa-4a8c-a2dd-d6b477bf5cd2 498.0 26 Connan Mockasin - Forever Dolphin Love (Erol A... 03:35:48 12948.0
30 None 449.0 27 Justin Timberlake - What Goes Around.../...Com... 03:22:03 12123.0
4 2df91ca8-3b94-495a-8d5d-35f3b53871f0 254.0 45 Kings of Convenience - Rule My World 03:10:30 11430.0
27 None 371.0 28 The xx - On Hold (Jamie xx Remix) 02:53:08 10388.0
1 983f22ca-5d35-4763-a7a6-0c0eadfbd192 192.0 54 Washed Out - Feel It All Around 02:52:48 10368.0
11 b0bbf192-1724-4808-9254-8e95982de3d3 322.0 32 Bonobo - Cirrus 02:51:44 10304.0
5 8acbf005-4ef6-44b0-b46f-b026c0da12e9 231.0 43 Unknown Mortal Orchestra - So Good at Being in... 02:45:33 9933.0
16 None 321.0 30 The Album Leaf - False Dawn 02:40:30 9630.0
13 56228aad-af59-4f26-9e20-34b30a529312 300.0 32 Interpol - Rest My Chemistry 02:40:00 9600.0
17 None 315.0 30 Nicola Cruz - LA COSECHA 02:37:30 9450.0
10 11d92c40-ba2a-4640-9654-63c128e4a446 275.0 34 Fleet Foxes - Mykonos 02:35:50 9350.0
9 a1d56aad-ccdc-4916-ae08-6e0a093fd32d 245.0 37 Washed Out - It All Feels Right 02:31:05 9065.0
8 None 224.0 39 The xx - On Hold 02:25:36 8736.0
29 48a2d37b-3c53-4526-a8a7-8fc9475ba3a2 314.0 27 El Ten Eleven - My Only Swerving 02:21:18 8478.0
54 e59f6c04-d498-47f5-9dab-517c346bb8f2 394.0 21 Hot Chip - Crap Kraft Dinner 02:17:54 8274.0
38 None 327.0 25 Childish Gambino - Redbone 02:16:15 8175.0
48 5d2ce680-b68e-4528-abde-5122ff045003 364.0 22 Moderat - A New Error 02:13:28 8008.0
18 None 273.0 29 Kelpe - Beaks of Eagles - Original Mix 02:11:57 7917.0
15 29290563-aed2-4dd0-9a70-cb43d451b177 253.0 31 Toro y Moi - Rose Quartz 02:10:43 7843.0
32 634ca556-3a3a-49a0-9fa4-f3b708db0bdb 281.0 26 Sylvan Esso - Coffee 02:01:46 7306.0
20 31600df4-e6dd-48ca-9f6b-8804027d8d6e 249.0 29 Radiohead - Jigsaw Falling Into Place 02:00:21 7221.0
12 698779fe-45fc-42e5-992c-3ff346a90614 224.0 32 Tennis - My Better Self 01:59:28 7168.0
31 1b472b5d-2293-4f51-824d-ca575a1407d9 261.0 26 Shigeto - Ann Arbor, Part 3 & 4 01:53:06 6786.0
53 eaf19b05-fada-4ae8-9f20-e06b7484be4c 312.0 21 Courtney Barnett - Avant Gardener 01:49:12 6552.0
... ... ... ... ... ... ...
34 4b95b3fb-3c50-4940-b8bf-d39f77a9691f 161.0 26 The xx - Islands 01:09:46 4186.0
43 fa2fa7b2-6e64-4d17-ba30-bf1027b690d1 177.0 23 Arctic Monkeys - Fluorescent Adolescent 01:07:51 4071.0
64 1fb5c114-1dc4-4741-8177-e0f64770995d 210.0 19 Metronomy - Everything Goes My Way 01:06:30 3990.0
95 10229224-8a4c-47fa-a09d-6cdf918b46a2 245.0 16 Kings of Convenience - The Build Up 01:05:20 3920.0
66 None 206.0 19 SBTRKT - Hold On (feat. Sampha) 01:05:14 3914.0
94 0428c11e-8682-44a6-a724-3d49a64b5c0d 240.0 16 Keane - Nothing in My Way 01:04:00 3840.0
81 None 225.0 17 The American Dollar - Lost Symphony 01:03:45 3825.0
92 None 234.0 16 Kings of Convenience - Know-How 01:02:24 3744.0
73 7c091ab5-360a-4900-a1b7-5f31b2c693d3 208.0 18 Tennis - Origins 01:02:24 3744.0
45 None 161.0 23 Salvia Palth - I Was All Over Her 01:01:43 3703.0
67 a4293853-6e16-4ed1-b954-e8452782eb8b 184.0 18 Feist - 1234 00:55:12 3312.0
75 c5ad7462-e222-4753-b2e3-6cf798227c8f 181.0 18 Tennis - Traveling 00:54:18 3258.0
70 c60693eb-0624-4847-968b-f80c745f4505 176.0 18 The xx - Fiction 00:52:48 3168.0
78 fa00b670-40cf-4c0b-9b21-f99f6070dcfc 186.0 17 King Krule - Border Line 00:52:42 3162.0
71 None 167.0 18 These City Lights - Houston 00:50:06 3006.0
93 aa6a2582-b3f2-44ca-b31d-76259223c96d 174.0 16 Chrome Sparks - Marijuana 00:46:24 2784.0
62 8814c358-cfc2-4bec-8cb5-6907f4a06dfb 130.0 20 Tennis - Tell Her No 00:43:20 2600.0
80 None 145.0 17 Adriana Figueroa - It's Over, Isn't It (Steven... 00:41:05 2465.0
96 ef019005-9d5f-477b-885d-21660f441f8c 141.0 16 Aperture Science Psychoacoustics Laboratory - ... 00:37:36 2256.0
91 None 0.0 16 Wolfgang Amadeus Mozart - Die Zauberflöte, K.6... 00:00:00 0.0
98 None 0.0 15 The Dave Brubeck Quartet - Bossa Nova U.S.A. -... 00:00:00 0.0
46 None 0.0 23 Villagers - Nothing Arrived - Live from Spotif... 00:00:00 0.0
89 None 0.0 16 Gorillaz - Andromeda (feat. D.R.A.M.) 00:00:00 0.0
88 None 0.0 17 Sebastián Codex - Weird Fishes/Arpeggi 00:00:00 0.0
79 None 0.0 17 Johann Sebastian Bach - Concerto n°5 en Ré maj... 00:00:00 0.0
72 None 0.0 18 Steve Reich - Music for 18 Musicians (modular ... 00:00:00 0.0
69 None 0.0 18 Gorillaz - Empire Ants (feat. Little Dragon) 00:00:00 0.0
35 None 0.0 26 Ellen Allien - Leave Me Alone 00:00:00 0.0
55 None 0.0 21 Sia - Elastic Heart - Piano Version 00:00:00 0.0
99 None 0.0 15 Antonio Vivaldi - Concerto in C Minor, RV 199 ... 00:00:00 0.0

100 rows × 6 columns

In [ ]:
(matplotlib.pyplot.show (.plot (fave_tracks.sort_values "lengths" :ascending False) :type "barh"))
In [128]:
(setv timed_tracks (.head (fave_tracks.sort_values "lengths" :ascending False) 30))
In [129]:
timed_tracks
Out[129]:
mbid song_length times tracks lengths seconds_lengths
0 None 283.0 115 Jamie xx - Loud Places 09:02:25 32545.0
2 None 284.0 53 Lusine - Operation Costs 04:10:52 15052.0
3 None 285.0 50 Banks - Warm Water - Snakehips Remix 03:57:30 14250.0
7 None 332.0 41 Lusine - Just a Cloud 03:46:52 13612.0
6 None 318.0 42 Radiohead - Weird Fishes/ Arpeggi 03:42:36 13356.0
14 None 429.0 31 Radiohead - Lotus Flower (Jacques Greene rmx) 03:41:39 13299.0
33 2245f062-f3fa-4a8c-a2dd-d6b477bf5cd2 498.0 26 Connan Mockasin - Forever Dolphin Love (Erol A... 03:35:48 12948.0
30 None 449.0 27 Justin Timberlake - What Goes Around.../...Com... 03:22:03 12123.0
4 2df91ca8-3b94-495a-8d5d-35f3b53871f0 254.0 45 Kings of Convenience - Rule My World 03:10:30 11430.0
27 None 371.0 28 The xx - On Hold (Jamie xx Remix) 02:53:08 10388.0
1 983f22ca-5d35-4763-a7a6-0c0eadfbd192 192.0 54 Washed Out - Feel It All Around 02:52:48 10368.0
11 b0bbf192-1724-4808-9254-8e95982de3d3 322.0 32 Bonobo - Cirrus 02:51:44 10304.0
5 8acbf005-4ef6-44b0-b46f-b026c0da12e9 231.0 43 Unknown Mortal Orchestra - So Good at Being in... 02:45:33 9933.0
16 None 321.0 30 The Album Leaf - False Dawn 02:40:30 9630.0
13 56228aad-af59-4f26-9e20-34b30a529312 300.0 32 Interpol - Rest My Chemistry 02:40:00 9600.0
17 None 315.0 30 Nicola Cruz - LA COSECHA 02:37:30 9450.0
10 11d92c40-ba2a-4640-9654-63c128e4a446 275.0 34 Fleet Foxes - Mykonos 02:35:50 9350.0
9 a1d56aad-ccdc-4916-ae08-6e0a093fd32d 245.0 37 Washed Out - It All Feels Right 02:31:05 9065.0
8 None 224.0 39 The xx - On Hold 02:25:36 8736.0
29 48a2d37b-3c53-4526-a8a7-8fc9475ba3a2 314.0 27 El Ten Eleven - My Only Swerving 02:21:18 8478.0
54 e59f6c04-d498-47f5-9dab-517c346bb8f2 394.0 21 Hot Chip - Crap Kraft Dinner 02:17:54 8274.0
38 None 327.0 25 Childish Gambino - Redbone 02:16:15 8175.0
48 5d2ce680-b68e-4528-abde-5122ff045003 364.0 22 Moderat - A New Error 02:13:28 8008.0
18 None 273.0 29 Kelpe - Beaks of Eagles - Original Mix 02:11:57 7917.0
15 29290563-aed2-4dd0-9a70-cb43d451b177 253.0 31 Toro y Moi - Rose Quartz 02:10:43 7843.0
32 634ca556-3a3a-49a0-9fa4-f3b708db0bdb 281.0 26 Sylvan Esso - Coffee 02:01:46 7306.0
20 31600df4-e6dd-48ca-9f6b-8804027d8d6e 249.0 29 Radiohead - Jigsaw Falling Into Place 02:00:21 7221.0
12 698779fe-45fc-42e5-992c-3ff346a90614 224.0 32 Tennis - My Better Self 01:59:28 7168.0
31 1b472b5d-2293-4f51-824d-ca575a1407d9 261.0 26 Shigeto - Ann Arbor, Part 3 & 4 01:53:06 6786.0
53 eaf19b05-fada-4ae8-9f20-e06b7484be4c 312.0 21 Courtney Barnett - Avant Gardener 01:49:12 6552.0
In [29]:
(seaborn.set_context "poster")
In [142]:
(matplotlib.pyplot.show (timed_tracks.plot 
                             :kind "bar" 
                             :x "tracks" 
                             :y '("seconds_lengths" "times") 
                             :secondary_y "times"  
                             :figsize '(10 4) ))
In [141]:
(matplotlib.pyplot.show ( seaborn.jointplot
                                         :data timed_tracks
                                         :y "song_length" 
                                         :x "times"
                                         :space 0))
In [137]:
(matplotlib.pyplot.show (.join (
                                     seaborn.jointplot
                                         :data timed_tracks
                                         :y "song_length" 
                                         :x "times"
                                         :space 0)
                                     
                                     (seaborn.kdeplot :data fave_tracks :zorder 0 :n_levels 6) 
                        ))
Traceback (most recent call last):
  File "/home/tian/utz/playlisp/venv/lib/python3.6/site-packages/calysto_hy/kernel.py", line 98, in do_execute_direct
    eval(code, self.env)
  File "In [137]", line 6, in <module>
AttributeError: 'JointGrid' object has no attribute 'join'

In [133]:
(help seaborn.JointGrid)
Help on class JointGrid in module seaborn.axisgrid:

class JointGrid(builtins.object)
 |  Grid for drawing a bivariate plot with marginal univariate plots.
 |  
 |  Methods defined here:
 |  
 |  __init__(self, x, y, data=None, size=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None)
 |      Set up the grid of subplots.
 |      
 |      Parameters
 |      ----------
 |      x, y : strings or vectors
 |          Data or names of variables in ``data``.
 |      data : DataFrame, optional
 |          DataFrame when ``x`` and ``y`` are variable names.
 |      size : numeric
 |          Size of each side of the figure in inches (it will be square).
 |      ratio : numeric
 |          Ratio of joint axes size to marginal axes height.
 |      space : numeric, optional
 |          Space between the joint and marginal axes
 |      dropna : bool, optional
 |          If True, remove observations that are missing from `x` and `y`.
 |      {x, y}lim : two-tuples, optional
 |          Axis limits to set before plotting.
 |      
 |      See Also
 |      --------
 |      jointplot : High-level interface for drawing bivariate plots with
 |                  several different default plot kinds.
 |      
 |      Examples
 |      --------
 |      
 |      Initialize the figure but don't draw any plots onto it:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> import seaborn as sns; sns.set(style="ticks", color_codes=True)
 |          >>> tips = sns.load_dataset("tips")
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
 |      
 |      Add plots using default parameters:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
 |          >>> g = g.plot(sns.regplot, sns.distplot)
 |      
 |      Draw the join and marginal plots separately, which allows finer-level
 |      control other parameters:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> import matplotlib.pyplot as plt
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
 |          >>> g = g.plot_joint(plt.scatter, color=".5", edgecolor="white")
 |          >>> g = g.plot_marginals(sns.distplot, kde=False, color=".5")
 |      
 |      Draw the two marginal plots separately:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> import numpy as np
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
 |          >>> g = g.plot_joint(plt.scatter, color="m", edgecolor="white")
 |          >>> _ = g.ax_marg_x.hist(tips["total_bill"], color="b", alpha=.6,
 |          ...                      bins=np.arange(0, 60, 5))
 |          >>> _ = g.ax_marg_y.hist(tips["tip"], color="r", alpha=.6,
 |          ...                      orientation="horizontal",
 |          ...                      bins=np.arange(0, 12, 1))
 |      
 |      Add an annotation with a statistic summarizing the bivariate
 |      relationship:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> from scipy import stats
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
 |          >>> g = g.plot_joint(plt.scatter,
 |          ...                  color="g", s=40, edgecolor="white")
 |          >>> g = g.plot_marginals(sns.distplot, kde=False, color="g")
 |          >>> g = g.annotate(stats.pearsonr)
 |      
 |      Use a custom function and formatting for the annotation
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
 |          >>> g = g.plot_joint(plt.scatter,
 |          ...                  color="g", s=40, edgecolor="white")
 |          >>> g = g.plot_marginals(sns.distplot, kde=False, color="g")
 |          >>> rsquare = lambda a, b: stats.pearsonr(a, b)[0] ** 2
 |          >>> g = g.annotate(rsquare, template="{stat}: {val:.2f}",
 |          ...                stat="$R^2$", loc="upper left", fontsize=12)
 |      
 |      Remove the space between the joint and marginal axes:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips, space=0)
 |          >>> g = g.plot_joint(sns.kdeplot, cmap="Blues_d")
 |          >>> g = g.plot_marginals(sns.kdeplot, shade=True)
 |      
 |      Draw a smaller plot with relatively larger marginal axes:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips,
 |          ...                   size=5, ratio=2)
 |          >>> g = g.plot_joint(sns.kdeplot, cmap="Reds_d")
 |          >>> g = g.plot_marginals(sns.kdeplot, color="r", shade=True)
 |      
 |      Set limits on the axes:
 |      
 |      .. plot::
 |          :context: close-figs
 |      
 |          >>> g = sns.JointGrid(x="total_bill", y="tip", data=tips,
 |          ...                   xlim=(0, 50), ylim=(0, 8))
 |          >>> g = g.plot_joint(sns.kdeplot, cmap="Purples_d")
 |          >>> g = g.plot_marginals(sns.kdeplot, color="m", shade=True)
 |  
 |  annotate(self, func, template=None, stat=None, loc='best', **kwargs)
 |      Annotate the plot with a statistic about the relationship.
 |      
 |      Parameters
 |      ----------
 |      func : callable
 |          Statistical function that maps the x, y vectors either to (val, p)
 |          or to val.
 |      template : string format template, optional
 |          The template must have the format keys "stat" and "val";
 |          if `func` returns a p value, it should also have the key "p".
 |      stat : string, optional
 |          Name to use for the statistic in the annotation, by default it
 |          uses the name of `func`.
 |      loc : string or int, optional
 |          Matplotlib legend location code; used to place the annotation.
 |      kwargs : key, value mappings
 |          Other keyword arguments are passed to `ax.legend`, which formats
 |          the annotation.
 |      
 |      Returns
 |      -------
 |      self : JointGrid instance.
 |          Returns `self`.
 |  
 |  plot(self, joint_func, marginal_func, annot_func=None)
 |      Shortcut to draw the full plot.
 |      
 |      Use `plot_joint` and `plot_marginals` directly for more control.
 |      
 |      Parameters
 |      ----------
 |      joint_func, marginal_func: callables
 |          Functions to draw the bivariate and univariate plots.
 |      
 |      Returns
 |      -------
 |      self : JointGrid instance
 |          Returns `self`.
 |  
 |  plot_joint(self, func, **kwargs)
 |      Draw a bivariate plot of `x` and `y`.
 |      
 |      Parameters
 |      ----------
 |      func : plotting callable
 |          This must take two 1d arrays of data as the first two
 |          positional arguments, and it must plot on the "current" axes.
 |      kwargs : key, value mappings
 |          Keyword argument are passed to the plotting function.
 |      
 |      Returns
 |      -------
 |      self : JointGrid instance
 |          Returns `self`.
 |  
 |  plot_marginals(self, func, **kwargs)
 |      Draw univariate plots for `x` and `y` separately.
 |      
 |      Parameters
 |      ----------
 |      func : plotting callable
 |          This must take a 1d array of data as the first positional
 |          argument, it must plot on the "current" axes, and it must
 |          accept a "vertical" keyword argument to orient the measure
 |          dimension of the plot vertically.
 |      kwargs : key, value mappings
 |          Keyword argument are passed to the plotting function.
 |      
 |      Returns
 |      -------
 |      self : JointGrid instance
 |          Returns `self`.
 |  
 |  savefig(self, *args, **kwargs)
 |      Wrap figure.savefig defaulting to tight bounding box.
 |  
 |  set_axis_labels(self, xlabel='', ylabel='', **kwargs)
 |      Set the axis labels on the bivariate axes.
 |      
 |      Parameters
 |      ----------
 |      xlabel, ylabel : strings
 |          Label names for the x and y variables.
 |      kwargs : key, value mappings
 |          Other keyword arguments are passed to the set_xlabel or
 |          set_ylabel.
 |      
 |      Returns
 |      -------
 |      self : JointGrid instance
 |          returns `self`
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)