06 Song_For_The_Visualization

Song for the Visualization

  • kaggle에 음악 추천관련 data가 있어서 이를 사용하여 음악에 대해서 시각화를 해 보았음
  • df_train, df_test 에는 각 유저가 어떤 음악을 들었는지에 대한 정보
  • df_songs는 각 노래에 대한 정보(아티스트, 장르, 앨범정보, 연주시각, 작곡자 등)
  • df_songs_extra는 노래제목, 연도 등의 정보
  • df_members는 유저의 성별, 나이, 도시 등의 정보가 있음
  • data는 대만의 업체가 제공하는 것이이여서 중화권 음악이 많이 존재해서 영어권 음악만 따로 빼서 분석함
In [48]:
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup
import requests
import re
import urllib
import os
import http.cookiejar
import json
from skimage import io

from matplotlib.pyplot import imshow
import numpy as np
from PIL import Image
import  matplotlib.pyplot as plt


print('Loading data...')
data_path =  '/home/bono/ONEDRIVE_DATA/kkbox/'
df_train = pd.read_csv(data_path + 'train.csv')
df_songs = pd.read_csv(data_path + 'songs.csv')
df_members = pd.read_csv(data_path + 'members.csv')
df_songs_extra = pd.read_csv(data_path + 'song_extra_info.csv')
Loading data...
In [2]:
# songs_extra
def isrc_to_year(isrc):
    if type(isrc) == str:
        if int(isrc[5:7]) > 17:
            return 1900 + int(isrc[5:7])
        else:
            return 2000 + int(isrc[5:7])
    else:
        return np.nan
        
df_songs_extra['song_year'] = df_songs_extra['isrc'].apply(isrc_to_year)
df_songs['song_length'] = df_songs['song_length'] / 1000
In [3]:
df_train.head()
Out[3]:
msnosong_idsource_system_tabsource_screen_namesource_typetarget
0FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=exploreExploreonline-playlist1
1Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=my libraryLocal playlist morelocal-playlist1
2Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=my libraryLocal playlist morelocal-playlist1
3Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=my libraryLocal playlist morelocal-playlist1
4FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=exploreExploreonline-playlist1
In [4]:
df_songs.head()
Out[4]:
song_idsong_lengthgenre_idsartist_namecomposerlyricistlanguage
0CXoTN1eb7AI+DntdU1vbcwGRV4SCIDxZu+YD8JP8r4E=247.640465張信哲 (Jeff Chang)董貞何啟弘3.0
1o0kFgae9QtnYgRkVPqLJwa05zIhRlUjfF7O1tDw0ZDU=197.328444BLACKPINKTEDDY| FUTURE BOUNCE| Bekuh BOOMTEDDY31.0
2DwVvVurfpuz+XPuFvucclVQEyPqcpUkHR0ne1RQzPs0=231.781465SUPER JUNIORNaNNaN31.0
3dKMBWoZyScdxSkihKG+Vf47nc18N9q4m58+b4e7dSSE=273.554465S.H.E湯小康徐世珍3.0
4W3bqWd3T+VeHFzHAUfARgW9AvVRaF4N5Yzm4Mr6Eo/o=140.329726貴族精選TraditionalTraditional52.0
In [5]:
df_songs_extra.head()
Out[5]:
song_idnameisrcsong_year
0LP7pLJoJFBvyuUwvu+oLzjT+bI+UeBPURCecJsX1jjs=我們TWUM712000432012.0
1ClazTFnk6r0Bnuie44bocdNMM3rdlrq0bCGAsGUWcHE=Let Me Love YouQMZSY16000152016.0
2u2ja/bZE3zhCGxvbbOB3zOoUjx27u40cf5g09UXMoKQ=原諒我TWA5308873032008.0
392Fqsy0+p6+RHe2EoLKjHahORHR1Kq1TBJoClW9v+Ts=ClassicUSSM113014462013.0
40QFmz/+rJy1Q56C1DuYqT9hKKqi5TUqx0sN0IwvoHrw=愛投羅網TWA4713060012013.0
In [6]:
df_members.head()
Out[6]:
msnocitybdgenderregistered_viaregistration_init_timeexpiration_date
0XQxgAYj3klVKjR3oxPPXYYFp4soD4TuBghkhMTD4oTw=10NaN72011082020170920
1UizsfmJb9mV54qE9hCYyU07Va97c0lCRLEQX3ae+ztM=10NaN72015062820170622
2D8nEhsIOBSoE6VthTaqDX8U6lqjJ7dLdr72mOyLya2A=10NaN42016041120170712
3mCuD+tZ1hERA/o5GPqk38e041J8ZsBaLcu7nGoIIvhI=10NaN92015090620150907
4q4HRBfVSssAFS9iRfxWrohxuk9kCYMKjHOEagUMV6rQ=10NaN42017012620170613
In [7]:
#df_songs 정보에 df_songs_extra 정보를 붙이기 위해서 merge를 함

df_songs = df_songs.merge(df_songs_extra[['song_id', 'name','song_year']], how= 'left', on = 'song_id')
In [8]:
#bd는 나이고 , gender는 성별인데 빠져 있는 것들이 많음
#df_train에 df_members 를 merge 함
df_train = df_train.merge(df_members[['msno','city','bd','gender']], how = 'left', on = 'msno')
In [9]:
#분석을 위해서 df_train과 df_songs을 merge
df_data = df_train.merge(df_songs, how = 'left', on = 'song_id')
In [10]:
#총 분석 데이터 수는 (7,377,418)
df_data.shape
Out[10]:
(7377418, 17)

가장 많이 듣는 가수와 노래

  • 상위에 속하는 가수와 노래 모두 중화권임을 알 수 있음
In [11]:
df_data.groupby('artist_name')['msno'].count().reset_index().sort_values('msno', ascending = False).head(20)
Out[11]:
artist_namemsno
31960Various Artists303616
35441周杰倫 (Jay Chou)186776
34699五月天 (Mayday)182088
37130林俊傑 (JJ Lin)115325
38025田馥甄 (Hebe)104946
33659aMEI (張惠妹)82799
39595陳奕迅 (Eason Chan)76035
37964玖壹壹70445
10925G.E.M.鄧紫棋67296
2898BIGBANG61927
38992謝和弦 (R-chord)57040
19422Maroon 555151
572A-Lin52913
9695Eric 周興哲49426
38724蔡依林 (Jolin Tsai)49055
38840蘇打綠 (Sodagreen)47177
37335楊丞琳 (Rainie Yang)46006
34575丁噹 (Della)45762
37313梁靜茹 (Fish Leong)44290
29180The Chainsmokers44215
In [12]:
df_song_20 = df_data.groupby('song_id')['msno'].count().reset_index().sort_values('msno', ascending = False).head(20)
df_song_20 = df_song_20.rename(columns={'msno':'count'})

df_song_20.merge(df_songs[['name','genre_ids', 'artist_name','language','song_year','song_id']])
Out[12]:
song_idcountnamegenre_idsartist_namelanguagesong_year
0reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=13973帥到分手458周湯豪 (NICKTHEREAL)3.02016.0
1T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=13293告白氣球458周杰倫 (Jay Chou)3.02016.0
2wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=13079小幸運 (A little happiness)465田馥甄 (Hebe)3.02015.0
3FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=12855你,好不好? (How Have You Been?)458Eric 周興哲3.02016.0
4PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=12004謝謝妳愛我 (Thanks For Your Love)465謝和弦 (R-chord)3.02016.0
5YN4T/yvvXtYrBVN8KTnieiQohHL3T9fnzUkbLWcgLro=11835讓我留在你身邊451陳奕迅 (Eason Chan)3.02016.0
6M9rAajz4dYuRhZ7jLvf9RRayVA3os61X/XXHEuW4giA=11745不為誰而作的歌 (Twilight)465林俊傑 (JJ Lin)3.02015.0
7U9kojfZSKaiWOW94PKh1Riyv/zUWxmBRmv0XInQWLGw=11521不該458周杰倫 (Jay Chou)3.02016.0
843Qm2YzsP99P5wm37B1JIhezUcQ/1CDjYlQx6rBbz2U=11131後來的我們 (Here| After| Us)458五月天 (Mayday)3.02016.0
9cy10N2j2sdY/X4BDUcMu2Iumfz7pV3tqE5iEaup2yGI=10791派對動物 (Party Animal)458五月天 (Mayday)3.02016.0
10J4qKkLIoW7aYACuTupHLAPZYmRp08en1AEux+GSUzdw=10565Faded1616|1609Alan Walker52.02015.0
11750RprmFfLV0bymtDH88g24pLZGVi5VpBAI300P6UOA=10500FLY OUT465兄弟本色G.U.T.S. (姚中仁、張震嶽、頑童MJ116)3.02015.0
12+SstqMwhQPBQFTPBhLKPT642IiBDXzZFwlzsLl4cGXo=9908好愛好散 (Blue Love Theme)465陳勢安 (Andrew Tan)3.02016.0
13IKMFuL0f5Y8c63Hg9BXkeNJjE0z8yf3gMt/tOxF4QNE=9844Closer1609The Chainsmokers52.02016.0
14v/3onppBGoSpGsWb8iaCIO8eX5+iacbH5a4ZUhT7N54=9736Alone1616|1609Alan Walker52.02016.0
15DLBDZhOoW7zd7GBV99bi92ZXYUS26lzV+jJKbHshP5c=9244演員465薛之謙3.02015.0
16p/yR06j/RQ2J6yGCFL0K+1R06OeG+eXcwxRgOHDo/Tk=9038孤獨是會上癮的 (Addicted To Loneliness)465吳克群 (Kenji Wu)3.02016.0
17Xpjwi8UAE2Vv9PZ6cZnhc58MCtl3cKZEO1sdAkqJ4mo=8883演員458田馥甄 (Hebe)3.02016.0
188Ckw1wek5d6oEsNUoM4P5iag86TaEmyLwdtrckL0Re8=8851可惜沒如果 (If Only)465林俊傑 (JJ Lin)3.02014.0
19BITuBuNyXQydJcjDL2BUnCu4/IXaJg5IPOuycc/4dtY=8845是我不夠好 (Not Good Enough)458李毓芬3.02016.0
In [13]:
# language 별로 분류 가장 많은 3은 중화권, 52는 영어권, 31 한국어 권 
df_data.groupby('language')['artist_name'].count()
Out[13]:
language
-1.0      308752
 3.0     4044643
 10.0     171904
 17.0     245136
 24.0      78621
 31.0     656623
 38.0        210
 45.0       2397
 52.0    1864789
 59.0       4193
Name: artist_name, dtype: int64
In [14]:
# 한국어권과 영어권만 분류 하기 위해서 52는 영어권, 31 한국어 권 
df_data_52 = df_data[df_data['language']==52]
df_data_31 = df_data[df_data['language']==31]

대만 앱에서 가장 많이 듣는 한국 가수와 노래

In [15]:
df_data_31.groupby('artist_name')['msno'].count().reset_index().sort_values('msno', ascending = False).head(20)
Out[15]:
artist_namemsno
1687Various Artists81732
162BIGBANG61300
155BANGTAN BOYS24298
1588TWICE22443
426EXO17008
1593Taeyeon14867
167BLACKPINK10162
529Girls' Generation (少女時代)9273
425EXID8387
166BIGBANG TAEYANG8188
330Crush7635
127Apink7605
73AOA7493
65AKDONG MUSICIAN (AKMU)7366
302NE16936
664IU6742
427EXO CHANYEOL & PUNCH6251
490G-DRAGON6137
1407SUPER JUNIOR5757
1384SHINee5459
In [16]:
df_song_20 = df_data_31.groupby('song_id')['msno'].count().reset_index().sort_values('msno', ascending = False).head(20)
df_song_20 = df_song_20.rename(columns={'msno':'count'})

df_song_20.merge(df_songs[['name','genre_ids', 'artist_name','language','song_year','song_id']])
Out[16]:
song_idcountnamegenre_idsartist_namelanguagesong_year
0podlycp3c6tOEDw7q8iQBVgvFjiMpkWWXTlXljGdbTY=6111TT444TWICE31.02016.0
1dBblcCblxZ/fqu94pTStU055+hRvF2oiyDEq0qHIfiA=5963FXXK IT444|1259BIGBANG31.02016.0
2gG8cycpwQak+/chDrTlk8CXXIw4ztVIO1OhbdJBTav8=5756Beautiful921Crush31.02016.0
3W+akwEPQhC1OugUaQlo0DR9xVs49UbJDZbiGvgN6ZyY=5600Stay With Me921EXO CHANYEOL & PUNCH31.02016.0
4JTMsJNPcL2ambkp1Z/MeBEnFEzZEOKetdLPrJxHf7v8=4720BANG BANG BANG465BIGBANG31.02015.0
5+cP03fE+hnJUB/v2PHLsD9UHBjmDIYvbuX+NrFqeudI=4693LAST DANCE444|1259BIGBANG31.02016.0
6ze0+7p13wqB1hZ/KWd6OT42LBehKmYVQyGGzEv8Q4fA=4327Who are you921Sam Kim31.02016.0
7dKfxhaRKwvhiYOUQ5JlkxQrJ/dDksdFueybCIdG5dXI=4233ALWAYS - t Yoonmirae465Various Artists31.0NaN
8AyU+NHMfkl3i4KQlaVcu2Y5w4JS+yMgNapvCrDuQtmY=4106I Miss You921Soyou31.02017.0
9uzU6ntNZT60j0CqFNXTpF6Oo8W3w5UwU/ANEODidW04=3873CHEER UP444TWICE31.02016.0
10VkILU0H1h3NMmk9MQrXouNudGk5n8Ls5cqRRuBxeTh4=3869眼| 鼻| 口 (Eyes| Nose| Lips)465BIGBANG TAEYANG31.02014.0
11+CvzJ0dbjOAypszTDhMrSjJJQYNbEiDrSod3wwcOA1k=3786You are so beautiful921Eddy Kim31.02016.0
124MisMKfKs26kWvzPwqJMnqqoeNfOlsfiiFswvWIQOUI=3683GIRLFRIEND444|1259BIGBANG31.02016.0
13zQ42nV6yi4mJlCn/6KEjm+SP6pEwUsd3P9fpI8tDiWE=3635Talk Love921|465Various Artists31.02016.0
14++QfzyM/LiFaCuvkDFK/wJe13ZEMgTgAaVCcolo7nnY=3410Like OOH-AHH444TWICE31.02015.0
15nW7czLK5LBcCT/uAo+03SyWAbaEEaSnXI5uxhC7QiBM=3285You Are My World921t Yoonmirae31.02016.0
1627vpOctGRDxfm4nJsYUfvNaoL8ayuXiYAYUH4H1mfJk=3264Everytime - Chen (첸)| Punch (펀치465Various Artists31.0NaN
17w4Zku7HxtkAKl/BB8H81ZfWOXwnnmVbZBvFZeRPuRUU=3096Blood Sweat & Tears444BANGTAN BOYS31.02016.0
186HofPS0v2MVFsL10yCN7dXUL+gUOnvsD35vx3HmRbdE=3084You Are My Everything - Gummy465Various Artists31.0NaN
19p6vR55B6kN6DL6mkWo3Ndkzd1KEbmr38ndt04bYuzXo=3073For You921Various Artists31.02016.0

2017년 대만 앱에서 바라본 시대별 인기 팝 음악

*

In [17]:
# 영어권에서 1960년 이상만을 대상으로
df_data_52 = df_data_52[df_data['song_year'] >=1960]
/home/bono/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
  from ipykernel import kernelapp as app
In [26]:
df_data_52.groupby('song_year')['song_id'].count().plot()
plt.show()
#### 올드 팝 보다는 최신 음악을 듣고 있음. 
#### 2017년 노래는 아직 많이 없기 때문에 그래프가 마지막에 하강되게 나타남

시대별 상위 랭크 아티스트

In [40]:
df_piv = df_data_52.groupby(['song_year','artist_name'])['name'].count().reset_index()
## 년도별로 rank를 줌
df_piv['rn'] = df_piv.sort_values(['name'], ascending=[False]) \
             .groupby(['song_year']) \
             .cumcount() + 1
df_x =df_piv[df_piv['rn']<21][['song_year','artist_name','rn']].sort_values(['rn', 'song_year'])
df_x = df_x.set_index(['song_year','rn'])
df_x.unstack('song_year')
Out[40]:
artist_name
song_year1960.01961.01962.01963.01964.01965.01966.01967.01968.01969.01970.01971.01972.01973.01974.01975.01976.01977.01978.01979.01980.01981.01982.01983.01984.01985.01986.01987.01988.01989.01990.01991.01992.01993.01994.01995.01996.01997.01998.01999.02000.02001.02002.02003.02004.02005.02006.02007.02008.02009.02010.02011.02012.02013.02014.02015.02016.02017.0
rn
1Ella FitzgeraldPatsy ClineDinah WashingtonVinicius de Moraes| Odette LaraSimon & GarfunkelAstrud GilbertoVarious ArtistsAntonio Carlos JobimThe Rolling StonesSimon & GarfunkelCarpentersVarious ArtistsCarpentersWizzardJoe CockerABBAABBALionel RichieBilly JoelABBAAir SupplyAir SupplyAir SupplyLionel RichieWham!Whitney HoustonWham!Guns N' RosesMinnie RipertonRichard MarxGeorge MichaelGuns N' RosesWhitney HoustonMariah CareyBon JoviElton JohnGeorge MichaelJoe Hisaishi (久石譲)Celine DionMichael JacksonColdplayNorah JonesColdplayMaroon 5Avril LavigneColdplayLisa Ono (小野リサ)Maroon 5Taylor SwiftJustin BieberBruno MarsAvril LavigneTaylor SwiftAviciiMaroon 5CHARLIE PUTHVarious ArtistsHalsey
2What the Fox SayElla FitzgeraldBob DylanAstrud GilbertoAn Original Soundtrack Recording The Sound Of ...Bob DylanBob DylanAndy WilliamsElvis PresleyTom JonesMichael Jackson & Jackson 5Carole KingVarious ArtistsMarvin GayeMichel DelpechEarth| Wind & FireAC/DCEric ClaptonThe Essential CollectionMichael JacksonABBAJuice NewtonChicagoCyndi LauperGeorge MichaelPaul YoungDon McleanGeorge MichaelBon JoviChet BakerMariah CareyCarpentersRadioheadJanet JacksonAll-4-OneMariah CareyTexasCeline DionMariah CareyChristmas Hits| Christmas Songs| Christmas MusicJason ChenRomeo & Juliette-En LiveVarious ArtistsLinkin ParkGreen DayHigh School Musical Original SoundtrackGeorge MichaelAvril LavigneJason MrazLady GagaAdeleOne DirectionMaroon 5Katy PerryVarious ArtistsJustin BieberThe ChainsmokersNiel
3Bis-Bossa Nova - Um Banquinho E Um ViolaoSofia KarlbergNana MouskouriDinah WashingtonThe AnimalsAntonio Carlos JobimTom JonesSergio Mendes TrioSimon & GarfunkelElis ReginaNick DrakeCat StevensMichael JacksonDiana RossABBAHot ChocolateElton JohnBaden PowellMichael JacksonDan FogelbergBoney MLionel RichieMichael JacksonAir SupplyBruce SpringsteenAir SupplyEuropeNat King ColeThe BanglesMichael BoltonM.C.HammerMariah CareyThe SundaysTake ThatMariah CareyOasisPhil CollinsSavage GardenAerosmithWestlifeBon JoviVarious ArtistsAvril LavigneThe Black Eyed PeasKelly ClarksonMariah CareyThe BeatlesTaylor SwiftLady GagaVarious ArtistsEminemPitbullImagine DragonsOneRepublicEd SheeranVarious ArtistsAlan WalkerArmin van Buuren| Garibay
4Edith PiafMotown #1'sMerle Travis And Joe MaphisBis-Bossa Nova - Um Banquinho E Um ViolaoNara LeãoThe Righteous BrothersAstrud GilbertoTom JonesThe Mamas & The PapasCarpentersTom JonesAstrud GilbertoLou ReedJohn DenverBarry WhiteThe Louis Stewart TrioBostonABBACarpentersAC/DCAC/DC2006 KTV點唱精選西洋總排行DeBargeWham!ChicagoVarious ArtistsBon JoviU2Enya黃鶯鶯 (Tracy Huang)Burl IvesAndy Williams4 Non BlondesRichard MarxThe CranberriesLuther VandrossGhost Town DJsBackstreet BoysVarious ArtistsBackstreet BoysLinkin ParkDamien RiceEminemVarious ArtistsJames BluntDestiny's ChildClementineOneRepublicAkonThe Black Eyed PeasTaylor SwiftRich ChiggaFlo RidaPitbullCalvin HarrisAlan WalkerBruno MarsSlowdive
5Henry ManciniBis-Bossa Nova - Um Banquinho E Um ViolaoTony BennettVarious ArtistsAstrud GilbertoJames BrownElis Regina2006 KTV點唱精選西洋總排行Elis ReginaJohn Lee HookerSantanaCarpentersElis ReginaThe EmotionsParliamentJohn DenverTaxi DriverCarpentersChaka KhanDonna SummerBarbra StreisandJourneyWomen In LoveEurythmicsBoy George And Culture ClubDire StraitsNat King ColeRichard MarxRelaxing Cinema ClassicsSheila JordanSerge GainsbourgJune ChristyPulpBoyz II MenMadonnaForeignerCeline DionAquaGeorge MichaelM2MWestlifeBlueCarpentersBeyoncéBritney SpearsVarious ArtistsBeyoncéAdeleBeyoncéKesha王儷婷 (Olivia Ong)RihannaJustin BieberFrozenAriana GrandeAdeleThe WeekndJ. Cole
6Bobby BlandThe TokensHenry ManciniChristmas Crooners CollectionThe Sound Of MusicMarianne FaithfullSimon & GarfunkelStevie WonderTom JonesHenry ManciniJanis JoplinElvis PresleyElton JohnCarpentersJohn DenverCarpentersMotown LoveBee GeesUltimate Disco PartyCameoKenny RogersWillie NelsonDexys Midnight RunnersUB40Phil CollinsLionel RichieShakin' StevensRoxetteLuther VandrossJanet JacksonPeggy LeeNatalie Cole周華健 (Emil Chau)The CranberriesBoyz II MenBackstreet BoysSpice GirlsSarah McLachlanLauryn HillDr. DreBarbra StreisandJohn MayerElvis PresleyBlueDaniel PowterMichael JacksonJustin TimberlakeLeona LewisColdplayMiley CyrusKaty PerryChe'NelleBruno MarsAvril LavigneFifth HarmonyColdplaySiaFrom First To Last
7The Brothers FourJulie LondonCountry Superstars Biggest Hits (3 Pak)Silver Linings PlaybookBis-Bossa Nova - Um Banquinho E Um ViolaoSimon & GarfunkelThe Lovin' SpoonfulRay ConniffVarious ArtistsAstrud GilbertoDiana Ross & The SupremesElton JohnNick DrakeThe Three DegreesLinda RonstadtJudy CollinsStevie WonderBilly JoelLionel RichieLionel RichieHot ChocolateABBAJoe CockerVarious ArtistsBand Aid 20U.S.A. For Africa黃鶯鶯 (Tracy Huang)Don McleanRoxetteThe KnackRoxetteThe O'JaysMariah CareySurvivorElton JohnTake ThatThe CardigansTitanic: Anniversary Edition- O.S.T.The RootsMadonnaWham!Destiny's ChildCeline DionJack JohnsonVarious ArtistsPussycat DollsNelly FurtadoLinkin ParkMariah CareyHikaru Utada (宇多田ヒカル)UsherLMFAOPitch Perfect SoundtrackVarious ArtistsSiaWiz KhalifaCalvin HarrisOK Go
8Roy OrbisonBob DylanSuper Hits Of The '60sThe Brothers FourTrue 60s LoveBis-Bossa Nova - Um Banquinho E Um ViolaoThe Rolling StonesInstrumental Bossa NovaHenry ManciniArco IrisVarious ArtistsMotown #1'sThe Descendants2006 KTV點唱精選西洋總排行Elis ReginaBarry ManilowKissSchumann - 200th AnniversaryRichard ClaydermanThe ClashOzzy OsbourneDan FogelbergRelaxing Cinema ClassicsKenny RogersAir SupplyWham!Ennio MorriconeWhitney HoustonGuns N' RosesElton JohnJulio IglesiasRichard MarxScent Of A WomanRick AstleyRadioheadGlenn FreyQuarteto Em CyMariah Carey911Sixpence None The RicherEminemU.N.V.Evanescence甜波蕾樂團Jesse McCartneyWestlifeWestlifeLisa Ono (小野リサ)LenkaFlo RidaRihannaKelly ClarksonVarious ArtistsEminemRedfooOne DirectionEd SheeranArcade Fire
9Howlin' WolfHowlin' WolfDream Again ~ 最佳廣告歌曲典藏集Original SoundtrackVarious ArtistsThe VenturesJulie LondonAstrud GilbertoDemis RoussosThe Velvet UndergroundJackson 5Billy JoelThe Allman Brothers BandToots & The MaytalsLynyrd SkynyrdLionel RichieBoogie WonderlandParliamentAC/DCAnne MurrayDiana RossKenny RogersKenny GJourneyVarious ArtistsGerard JolingCyndi LauperKeith SweatChicagoBillie HolidayVitasMichael BoltonThe CureStingOasisMichael JacksonVariousWill SmithEliane EliasSavage GardenWhitney HoustonMoulin rougeBlueLisa Ono (小野リサ)Jack JohnsonFort MinorDaughtryVarious ArtistsCarla BruniColbie CaillatNellyLady GagaP!nkSam SmithDavid GuettaZeddDJ SnakeFoxygen
10Juliette GrécoHenry ManciniHank SnowHenry ManciniAndy WilliamsPetula ClarkAntonio Carlos JobimThe Velvet UndergroundAlberto PonceJohnny CashCat StevensJohn DenverThe StylisticsABBAHot ChocolateTania MariaCarpentersKansasTeddy PendergrassCapitol DiscoBruce SpringsteenOriginal Cast & Original Cast Of CatsDreamgirls: Original Broadway Cast AlbumBonnie TylerBryan AdamsTears For FearsHip HopStarshipRichard ClaydermanFrank SinatraA Tribe Called QuestChet BakerBon JoviRoxetteMerle HaggardBon JoviBackstreet Boys911Tony Orlando & DawnEtta JamesMichael JacksonShakiraChristina AguileraDidoMichael BubléJack JohnsonJohn MayerStacey KentNe-YoLMFAOJessie JMaroon 5Carly Rae JepsenMiley CyrusColbie CaillatMike PosnerShawn MendesJames Blunt
11Chubby CheckerJacques BrelConjunto Sete De OurosMotown #1'sJudy CollinsTom JonesStevie WonderMotown LoveEngelbert HumperdinckBee GeesMichael JacksonMotown LoveBill WithersJoão DonatoEarth| Wind & FireDon WilliamsTrue 70s LoveThe EmotionsCheap TrickEruptionKool & The GangOlivia Newton-JohnDuran DuranBilly JoelRichard ClaydermanLes Misérables - Original London CastTop Gun - Motion Picture Soundtrack齊豫Billie HolidayTom PettyCeline DionMetallicaMadonnaJohnny HallydayJeff BuckleyAll-4-OneTake ThatRadioheadBoyzoneNirvanaRobbie WilliamsWestlifeJustin TimberlakeNorah JonesHikaru Utada (宇多田ヒカル)Bon JoviFergieMusic And Lyrics - Music From The Motion PictureVarious ArtistsLisa Ono (小野リサ)Flo RidaTwilight SoundtrackZeddDemi LovatoAviciiCarly Rae JepsenONE OK ROCKAlex Goot feat. ATC
12Brenda LeeChubby CheckerSheila JordanPaul AnkaRoy OrbisonThe Rolling StonesNina SimoneJimi Hendrix ExperienceStevie WonderNana MouskouriHenry ManciniMarvin GayeJoan BaezHot ChocolateTania MariaCommodoresMelba MooreMarvin GayePatti SmithMotörheadDire StraitsEarth| Wind & FireLionel RichiePhil CollinsGlenn FreyStarshipBeastie BoysRelaxing Cinema Classics齊豫Air SupplyMichael JacksonSarah McLachlan2006 KTV點唱精選西洋總排行Meat LoafEast 17Bette MidlerBarbra StreisandSpice GirlsShania TwainCeline DionAerosmitht.A.T.u.OasisUsherAkonJason MrazTaylor SwiftNe-YoHigh School Musical Original SoundtrackB.o.BFar East MovementPassengerRihannaJohn LegendMark Ronson feat. Bruno MarsMichael GiacchinoMAJOR LAZERGrey
13True 60s LoveCharles TrenetTrue 60s LovePure... SeriesHenry ManciniVarious ArtistsMarianne FaithfullNina SimoneBis-Bossa Nova - Um Banquinho E Um ViolaoSantanaEric ClaptonMichael JacksonTrue 70s LoveBlue SwedeDon WilliamsJoan BaezVarious ArtistsBarry ManilowThe CureRichard ClaydermanVarious ArtistsDiana RossWham!Van HalenThe Smiths100 Hits of the 80'sModern TalkingKenny BurrellPaul MauriatTaylor DayneLL Cool JBryan AdamsRage Against The MachineJohn WilliamsDolly Parton2PacLes Misérables - 10th Anniversary CastTrisha YearwoodBabyfaceEaglesMariah CareyTravisChicago50 CentKings Of ConvenienceCraig DavidVarious ArtistsRihannaHikaru Utada (宇多田ヒカル)Lady AntebellumDiddy - Dirty MoneyFlo RidaKeshaPharrell WilliamsEllie GouldingLukas GrahamFifth HarmonyJoey Bada$$
14Snoop Doggy DoggSilver Linings PlaybookVarious ArtistsJohnny CashJohn ColtraneMaurice ChevalierThe Statler BrothersVarious ArtistsJanis JoplinJoe DassinStevie WonderHenry ManciniPure... Series100 FunkCountry Superstars Biggest Hits (3 Pak)Albert WestHot ChocolateKissThe PoliceGeorge DukeRichard ClaydermanThe Pointer SistersAsiaBryan AdamsThe Hangover: Original Motion Picture Soundtrack100 Best Film ClassicsAir SupplyN.W.A.The La'sJudy GarlandScorpionsU2Sounds Of BlacknessSarah McLachlanTrisha YearwoodEnyaRobert MilesNatalie ImbrugliaModern TalkingVarious Artists'N SyncBridget Jones's DiaryVanessa CarltonKeaneLinkin Park vs Jay-ZMaroon 5The Fast and the FuriousAlicia KeysRihannaPitbullJustin BieberJessie JNicki Minaj2 Chainz| Wiz KhalifaMeghan TrainorSiaMaroon 5David Arnold| Michael Price
15Various ArtistsCountry: The American TraditionPatsy ClineJascha HeifetzDinah WashingtonNancy WilsonDiana RossSimon & GarfunkelFour TopsWALL-EElis ReginaNina SimoneJimmy CliffLynyrd SkynyrdEric ClaptonJames BrownGeorge JonesElis ReginaCapitol DiscoCountry Superstars Biggest Hits (3 Pak)The VaporsSarah VaughanRichard SandersonStevie Ray Vaughan and Double TroubleLaura BraniganBryan FerryKenny LogginsVarious ArtistsUnforgettable Rocking LoveHenry ManciniFrançoise HardyVarious ArtistsBillie HolidayJascha HeifetzChet BakerCeline DionAndrea BocelliKenny GRoddy FrameBrian McknightKings Of ConvenienceKylie MinogueDiana KrallSiaCiaraNe-YoJames MorrisonFlo RidaThe FrayJohn MayerD.R.A.M.BeyoncéOne DirectionEaglesColdplayThe WeekndAriana GrandeMew
16Elvis PresleyBuddy GuyDave Van RonkCountry Superstars Biggest Hits (3 Pak)Motown #1'sNina SimoneHenry ManciniJudy CollinsBee GeesBob DylanThe Rolling StonesBill WithersNeil DiamondBob DylanThe Three DegreesLeny AndradeThin LizzyEarth| Wind & FireMcFadden & WhiteheadThe Best Year Of My LifeElton JohnAlabamaCocteau TwinsU2ScorpionsDuran DuranUnforgettable Rocking LoveMichael JacksonNew EditionPhil CollinsBillie HolidayThe Beach BoysLionel Richie齊豫Kenny GThe CardigansFugees (Refugee Camp)Robbie WilliamsLene MarlinChristina AguileraChristina AguileraP!nkBon JoviMuseGwen StefaniCorinne Bailey Rae順子 (Shunza)High School Musical Original SoundtrackDaniel PowterOneRepublicGeorge MichaelVarious ArtistsUsherEllie GouldingOne DirectionFlo Rida王詩安 (Diana Wang)UNKLE
17Art PepperBossa Cafe en Ibiza & ChilloutChristmas Crooners CollectionStevie WonderThe Sound of Music - The Collector's EditionAo Maestro com Carinho - Um Tributo a Tom JobimAerosmithBis-Bossa Nova - Um Banquinho E Um ViolaoTrue 60s LoveCreedence Clearwater RevivalJames BrownThe WhoAlbert HammondBarry WhiteVarious ArtistsOlivia Newton-JohnElis Regina70s LoveBarry WhiteVarious ArtistsAndy GibbVarious ArtistsThe Pointer SistersJimmy CliffSingin In The Rain - Original CastRelaxing Cinema Classics100 Hits of the 80'sCarpentersMichael Jackson殷正洋 (Johnny Yin)Whitney HoustonBillie HolidayAnnie LennoxSheryl CrowAlanis MorissetteNo DoubtSurvivorOasisWhitney Houston Duet With Mariah CareyTop Gun - Motion Picture SoundtrackDaft PunkAndrea BocelliNellyAlicia KeysThe KillersOriginal SoundtrackHip HopBee GeesThe ScriptBritney SpearsLinkin Park曲婉婷 (Wanting Qu)Far East MovementOne DirectionJessicaSelena Gomeztwenty one pilotsPond
18Bobby RydellGerry MulliganJohnny CashRoy OrbisonThe Sound Of Music - 45th Anniversary EditionStevie WonderTrue 60s LoveJacqueline Du PreBig Brother & The Holding CompanyNeil DiamondDolly PartonThe Allman Brothers BandJohn DenverKool & The GangTrue 70s LoveOscar PetersonHeartJacques BrelGreaseStyxUB40Kool & The GangVarious ArtistsYes| I Do!The Essential CollectionModern TalkingCrowded HouseSting100 Hits of the 80'sKenny RogersAC/DCN.W.A.杜德偉 (Alex To)BabyfaceRichard ClaydermanWhitney HoustonBlackstreetThe VerveColdplayGeorge MichaelCeline DionHarry PotterJason MrazBritney SpearsRod StewartShakin' StevensBee GeesWestlifeBritney SpearsTaylor SwiftAvril LavigneMichael BubléCalvin HarrisMartin GarrixRixtonDJ SnakeClean BanditIggy Pop
19Charles AznavourJingle Bell SwingAndy WilliamsSue ThompsonThe Statler BrothersThe Statler BrothersTa-KuLeonard CohenAstrud GilbertoAnne MurrayTrue 70s LoveTom JonesRoxy MusicTrue 70s LoveBob DylanMotown LoveJoan BaezCrystal GayleBarry ManilowTeddy PendergrassUnforgettable Rocking LoveMotown Love100 Hits of the 80'sCarpentersTears For FearsFalcoLionel RichieBilly JoelM.C.HammerStevie Ray Vaughan and Double TroubleCarpentersEnyaDon McleanIce CubeTLCOne Day OSTToni BraxtonJoeEmiliaRonan KeatingBritney SpearsJanet JacksonGareth GatesAmy WinehouseAthleteMadonnaDamien RiceBritney Spears面谷誠二MadonnaMaroon 5Carly Rae JepsenThe ScriptTiëstoJason MrazShawn MendesLady GagaTuxedo
20DalidaJohnny AlfBobby RydellMarcos ValleOriginal SoundtrackTrue 60s LoveCountry: The American TraditionEngelbert HumperdinckCountry Superstars Biggest Hits (3 Pak)B.B. KingEdwin StarrMichel DelpechMAHAVISHNU ORCHESTRAUltimate R&BCartolaThe ManhattansPeter ToshRichard Clayderman黃鶯鶯 (Tracy Huang)Smokey RobinsonSonny Boy Williamson & The YardbirdsMen at WorkTéléphone80's British Invasion 30th Anniversary(3CD)Tina TurnerKatrina & The WavesMetallica100 Hits of the 80'sRick AstleyCarpentersChildrens Christmas FavoritesM.C.HammerIce CubeGuns N' RosesSarah McLachlanLoreena McKennitt林憶蓮 (Sandy Lam)HansonCherBob DylanThe Divine ComedyToy Story Original SoundtrackLisa Ono (小野リサ)Michael JacksonMichael Jackson50 CentRihannaThe Click FiveLily AllenMariah CareyVarious ArtistsColdplayPitbullClean BanditJames Baytwenty one pilotsJustin TimberlakeJens Lekman

1991 년 상위 랭크 뮤지션 이미지 시각화

  • 1991년 상위 랭크 뮤지션을 대상으로
  • 구글에서 이미지 검색 (뮤지션 + 1991 + album jacket) 후
  • BeautifulSoup를 사용하여 구글 결과의 이미지를 추출 후
  • matplotlib.pyplot의 imshow를 이용하여 이미지를 뿌려줌
In [53]:
df_x = df_x.reset_index()
df_song_1991 = df_x[df_x['song_year'] == 1991]
In [60]:
def get_soup(url,header):
    return BeautifulSoup(urllib.request.urlopen(urllib.request.Request(url,headers=header)),'html.parser')

alist = []
header={'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.2357.134 Safari/537.36"
}
ActualImages=[]

for i in range(0, len(df_song_1991)):
    query = df_song_1991.iloc[i,2] +' ' + '1991' + ' ' + 'album jacket'
    query= query.split()
    query='+'.join(query)
    url = "https://www.google.co.kr/search?q=" + query + "&hl=ko&dcr=0&biw=1006&bih=525&tbm=isch&source=lnt&tbs=isz:ex,iszw:500,iszh:500"
    soup = get_soup(url,header)
    a = soup.find_all("div",{"class":"rg_meta"})[0]
    link = json.loads(a.text)["ou"] 
    ActualImages.append((link))
    alist.append(ActualImages[0])
plt.figure(figsize=(20,10))
columns = 5    
print(len(ActualImages))
for i, images in enumerate(ActualImages):
    plt.subplot(len(ActualImages) / columns + 1, columns, i + 1)
    io.imshow(io.imread(images))
io.show()
20


© 2017. All rights reserved.

Powered by ZooFighter v0.12