Skip to content

Instantly share code, notes, and snippets.

@zhonglism
Last active September 7, 2021 23:07
Show Gist options
  • Save zhonglism/4f3ca1d35def5fca1937f174e0a91e17 to your computer and use it in GitHub Desktop.
Save zhonglism/4f3ca1d35def5fca1937f174e0a91e17 to your computer and use it in GitHub Desktop.
mlproject script
import pandas as pd
import numpy as np
import pandas as pd
import io
import requests
ign_url='https://gist.githubusercontent.com/zhonglism/09e35db741cd0ad2ac5162bb02d246ae/raw/e9f45068bfb80d2be0264045d652110a79ffe092/ign.csv'
vgsale_url="https://gist.githubusercontent.com/zhonglism/f146a9423e2c975de8d03c26451f841e/raw/f79e190df4225caed58bf360d8e20a9fa872b4ac/vgsales.csv"
ign_con=requests.get(ign_url).content
vgsale_con=requests.get(vgsale_url).content
ign=pd.read_csv(io.StringIO(ign_con.decode('utf-8')))
vgsales=pd.read_csv(io.StringIO(vgsale_con.decode('utf-8')))
# ign=pd.read_csv('ign.csv')
# vgsales=pd.read_csv('vgsales.csv')
ign=ign.drop_duplicates()
vgsales=vgsales.drop_duplicates()
ign=ign.drop('Unnamed: 0',axis=1)
#remove platforms which has less than 10 titles
ign_platform=ign.groupby(['platform'])['title'].count()
ign_platform=pd.DataFrame(ign_platform[ign_platform<10])
ign_platform=ign_platform.index.tolist()
for platform in ign_platform:
ign=ign[ign['platform']!=platform]
vgsales_platform=vgsales.groupby(['Platform'])['Name'].count()
vgsales_platform=pd.DataFrame(vgsales_platform[vgsales_platform<10])
vgsales_platform=vgsales_platform.index.tolist()
for pf in vgsales_platform:
vgsales=vgsales[vgsales['Platform']!=pf]
find_replace={'Dreamcast':'DC','Game Boy':'GB','Game Boy Advance':'GBA','GameCube':'GC',
'Genesis':'GEN','NES':'NES','Nintendo 3DS':'3DS','Nintendo 64':'N64','Nintendo DS':'DS',
'Nintendo DSi':'DS','Playstation':'PS','PlayStation 2':'PS2','PlayStation 3':'PS3',
'PlayStation 4':'PS4','PlayStation Portable':'PSP','PlayStation Vita':'PSV','Super NES':'SNES',
'Wii U':'WiiU','Xbox':'XB','Xbox 360':'X360','Xbox One':'Xone'}
for key,value in find_replace.items():
ign=ign.replace({key:value})
result=ign.merge(vgsales,left_on=['title','platform'], right_on=['Name','Platform'], how='inner')
result[['title','platform','Name','Platform']].tail(5)
@zhonglism
Copy link
Author

Here is comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment