|
偶尔看到他人筛選的Kaggle的10個精選項目,看到這個数据,本身也喜好玩遊戲,想要领會一下流戏成长的進程
2、提出問題、数据阐发目標
1)市場阐发:受接待的遊戲、類型、公布平台、刊行人等;
2)其他阐发:遊戲的公布量,遊戲的岑岭期,地域遊戲发型趋向
3、数据采集
點击這里便可下载:
4、数据處置
①處置包加载
- #数据處置包
- import pandas as pd
- import numpy as np
- #数据可视化
- import matplotlib.pyplot as plt
- import seaborn as sns
- #pyecharts包,這個包是真的好用,举薦大師利用
- from pyecharts import options as opts
- from pyecharts.charts import Bar, Grid, Line,Scatter
- from pyecharts.globals import ChartType, SymbolType
- #時候處置包
- import datetime
- import time
- #字體設置
- plt.rcParams['font.sans-serif']=['SimHei']
複製代碼
②数据的加载
- data=pd.read_csv('C:/Users/guanghua.yuan/Desktop/vgsales.csv')
複製代碼
③初窥数据
字段的理解
④缺失值的處置
可以從上面看出,是出缺失值的,必要處置缺失值
- data=data.dropna(how='any',inplace=True)
- data.isnull().sum()
複製代碼
可以看出,没出缺失值了
⑤反复值處置
經由過程果断Year和Name@往%7K67q%来%7K67q%来%7K67q%往除反%2Zz67%复@值
- data=data.drop_duplicates(subset=['Year','Name'])
- data.info()
複製代碼
可以看出,是有不少反复的。
5、数据阐发
①摸索每一年遊戲的公布量
- Y_COUNT=data.groupby('Year')['Name'].count()
- c=(
- Bar()
- .add_xaxis(Y_COUNT.index.tolist())
- .add_yaxis("公布量",Y_COUNT.values.tolist(),category_gap="20%",color="#0f59a4")
- .set_global_opts(title_opts=opts.TitleOpts(title="每一年的公布量",pos_left='45%'),toolbox_opts=opts.ToolboxOpts(),
- legend_opts=opts.LegendOpts(is_show=True,pos_top='10%'),肩周炎止痛藥膏,
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90)))
- )
- c.render_notebook()
複製代碼
②分歧平台的累计公布量
- P_COUNT=data.groupby('Platform')['Name'].agg({'Name':'count'}).rename(columns={'Name':'counts'}).sort_values(by='counts')
- p=(
- Bar()
- .add_xaxis(P_COUNT.index.tolist())
- .add_yaxis('',P_COUNT.counts.tolist(),color='#0f59a4')
- .set_global_opts(title_opts=opts.TitleOpts(title='分歧平台的遊戲累计公布量',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='55%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=2000))
- )
- p.render_notebook()
複製代碼
③分歧類型遊戲的数目
- G_COUNT=data.groupby('Genre').agg({'Name':'count'}).rename(columns={'Name':'counts'}).sort_values(by='counts',na_position='first')
- p=(
- Bar()
- .add_xaxis(G_COUNT.index.tolist())
- .add_yaxis('',G_COUNT.counts.tolist(),color="#0f59a4",gap='50%')
- .set_global_opts(title_opts=opts.TitleOpts(title='分歧類型的数目',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='55%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=2500))
- )
- p.render_notebook()
複製代碼
④出書商的累计公布量
- Pub_COUNT=data.groupby('Publisher').agg({'Name':'count'}).rename(columns={'Name':'counts'}).reset_index().sort_values(by='counts')
- p=(
- Bar()
- .add_xaxis(Pub_COUNT.Publisher.tail(10).tolist())
- .add_yaxis('',Pub_COUNT.counts.tail(10).tolist(),color="#0f59a4",gap='2%')
- .set_global_opts(title_opts=opts.TitleOpts(title='出書商的累计公布量',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='55%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=35,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=1000))
- )
- p.render_notebook()
複製代碼
⑤分歧出書商其他地域公布量
- Gl_COUNT=data.groupby('Publisher').agg({'NA_Sales':np.sum,
- 'JP_Sales':np.sum,
- 'EU_Sales':np.sum,
- 'Other_Sales':np.sum}).rename(columns={'NA_Sales':'NA_sums',
- 'JP_Sales':'JP_sums',
- 'EU_Sales'德國馬膏,;:'EU_sums',
- 'Other_Sales':'Ot_sums'
- }).reset_index().sort_values(by=['NA_sums','JP_sums','EU_sums'])
- p=(
- Bar()
- 增高神器,.add_xaxis(Gl_COUNT.Publisher.tail(10).tolist())
- .add_yaxis('北美洲贩賣量',round(Gl_COUNT.NA_sums.tail(10)).tolist(),color="#0f59a4",stack="stack1")
- .add_yaxis('日本贩賣量',round(Gl_COUNT.JP_sums.tail(10)).tolist(),color='#142334',stack="stack1")
- .add_yaxis('欧洲贩賣量',round(Gl_COUNT.EU_sums.tail(10)).tolist(),color='#5698c3',stack="stack1")
- .add_yaxis('其他贩賣量',round(Gl_COUNT.Ot_sums.tail(10)).tolist(),color='#5cb3cc',stack="stack1")
- .set_global_opts(title_opts=opts.TitleOpts(title='分歧出書商其他地域公布量',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='40%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=20,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=900))
- .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- )
- p.render_notebook()
複製代碼
⑥遊戲類型的分歧地域贩賣量
- Gl_COUNT=data.groupby('Publisher').agg({'NA_Sales':np.sum,
- 'JP_Sales':np.sum,
- 'EU_Sales':np.sum,
- 'Other_Sales':np.sum}).rename(columns={'NA_Sales':'NA_sums',
- 'JP_Sales':'JP_sums',
- 'EU_Sales':'EU_sums',
- 'Other_Sales':'Ot_sums'
- }).reset_index().sort_values(by=['NA_sums','JP_sums','EU_sums'])
- p=(
- Bar()
- .add_xaxis(Gl_COUNT.Publisher.tail(10).tolist())
- .add_yaxis('北美洲贩賣量',round(Gl_COUNT.NA_sums.tail(10)).tolist(),color="#0f59a4",stack="stack1")
- .add_yaxis('日本贩賣量',round(Gl_COUNT.JP_sums.tail(10)).tolist(),color='#142334',stack="stack1")
- .add_yaxis('欧洲贩賣量',round(Gl_COUNT.EU_sums.tail(10)).tolist(),color='#5698c3',stack="stack1")
- .add_yaxis('其他贩賣量',round(Gl_COUNT.Ot_sums.tail(10)).tolist(),color='#5cb3cc',stack="stack1")
- .set_global_opts(title_opts=opts.TitleOpts(title='分歧出書商其他地域公布量',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='40%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=20,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=900))
- .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- )
- p.render_notebook()
複製代碼
⑦平台的地域贩賣量
- PG_COUNT=data.groupby('Platform').agg({'NA_Sales':np.sum,
- 'JP_Sales':np.sum,
- 'EU_Sales':np.sum,
- 'Other_Sales':np.sum}).rename(columns={'NA_Sales':'NA_sums',
- 'JP_Sales':'JP_sums',
- 'EU_Sales':'EU_sums',
- 'Other_Sales':'Ot_sums'
- }).reset_index().sort_values(by=['NA_sums','JP_sums','EU_sums'])
- p=(
- Bar()
- .add_xaxis(PG_COUNT.Platform.tail(10).tolist())
- .add_yaxis('北美洲贩賣量',round(PG_COUNT.NA_sums.tail(10)).tolist(),color="#0f59a4",stack="stack1")
- .add_yaxis('日本贩賣量',round(PG_COUNT.JP_sums.tail(10)).tolist(),color='#142334',stack="stack1")
- .add_yaxis('欧洲贩賣量',round(PG_COUNT.EU_sums.tail(10)).tolist(),color='#5698c3',stack="stack1")
- .add_yaxis('其他贩賣量',round(PG_COUNT.Ot_sums.tail(10)).tolist(),color='#5cb3cc',stack="stack1")
- .set_global_opts(title_opts=opts.TitleOpts(title='分歧出書商其他地域公布量',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='40%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=20,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=900))
- .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- )
- p.render_notebook()
複製代碼
⑧热點遊戲的销量
- Pub_COUNT=data.groupby('Genre').agg({'Global_Sales':'sum'}).rename(columns={'Global_Sales':'sums'}).reset_index().sort_values(by='sums')
- p=(
- Bar()
- .add_xaxis(Pub_COUNT.Genre.tolist())
- .add_yaxis('',round(Pub_COUNT.sums).tolist(),color='#0f59a4',gap='2%')
- .set_global_opts(title_opts=opts.TitleOpts(title='最受接待的類型遊戲',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='55%皮膚保養方法,9;),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=1500))
- )
- p.render_notebook()
複製代碼
⑨销量最高的遊戲
- youxi=data.sort_values(by='Global_Sales',ascending=True)
- p=(
- Bar()
- .add_xaxis(youxi['Name'].tail(10).tolist())
- .add_yaxis(&#沙發修理,39;',round(youxi.Global_Sales.tail(10)).tolist(),color='#0f59a4',gap='2%')
- .set_global_opts(title_opts=opts.TitleOpts(title='最受脱销遊戲',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='55%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=35,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=90))
- )
- p.render_notebook()
複製代碼
⑩每一年的贩賣量
- YS_COUNT=data.groupby('Year').agg({'Global_Sales':'sum'}).rename(columns={'Global_Sales':'sums'}).reset_index().sort_values(by='sums')
- p=(
- Bar()
- .add_xaxis(YS_COUNT.Year.tolist())
- .add_yaxis('',round(YS_COUNT.sums).tolist(),color='#0f59a4',gap='2%')
- .set_global_opts(title_opts=opts.TitleOpts(title='每一年的贩賣量',pos_left='48%'),
- legend_opts=opts.LegendOpts(pos_top='5%',pos_left='55%'),
- toolbox_opts=opts.ToolboxOpts(is_show=True),
- xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=90,margin=20)),
- yaxis_opts=opts.AxisOpts(name="数目",type_="value",min_=0,max_=600))
- )
- p.render_notebook()
複製代碼
六:阐发建议
一、遊戲公布量從1993年起頭,遭到了電脑的逐步普及遊戲起頭暴发式增加,2008年到达颠峰,起頭逐年下滑,2011年-2012年呈現刊行量狂跌50%,後续逐步起頭下滑
全部遊戲市場近几年延续低迷,從2008年起頭呈現了不乱的遊戲,比方GTA,至今都另有大量的玩家。從2011年起頭下滑紧张,網诺遊戲大量的呈現,造成為了不少平台起頭寄托不乱的網诺遊戲吸金,不必要開辟新的遊戲
二、可以看出全部遊戲市場是由PS2和DS平台公布遊戲数目至多,第三名和第二名之間相差36%,至今還活泼的有PS2,DS等平台,可以看到索尼统治遊戲市場的暗影
三、全部遊戲市場從1980—2016年(数据统计),大師都對動作遊戲是比力青睐的,一绝骑尘。活動類和音樂類,脚色饰演類遊戲相差不太大,遊戲玩家對付這几類遊戲一向都钟爱,
至今這几類依然是主流,用户的快樂喜爱是几十年是根基没變革
四、南梦宫(Namco),任天國(Nintendo),育碧软件(Ubisoft Entertainment SA)是排名前三,可以看出全部遊戲市場全部出書商刊行数目差距不是那末大,至今這几家仍在世,不竭推出新的產物
五、任天國遊戲的贩賣是散布在北美洲的,艺電公司(electronic arts)在欧洲和其他地域是受接待的,日本贩賣是较少的,索尼全世界市場都是比力好的,每一個地域贩賣量是比力高的,大部門出書商的销量都集中在北美洲,欧洲有一部門销量
六、動作類的遊戲销量大多集中在日本和北美洲,這2個地域也盛產動作類遊戲,全部北美洲遊戲销量都很是高的,其次是欧洲各個類型的销量都比力高,日當地區各種遊戲都是很是喜好的
七、全部平台销量最高的是Wii,每一個地域都很受接待,PS2的遊戲玩家重要集中在北美洲和日本,DS與PS也全部地域都受接待。
八、動作類遊戲依然是市場的主流,活動類與脚色饰演類全部市場都属於很是受接待
九、销量最高的遊戲是Wii SPORT遊戲
十、遊戲的销量最高的是集中在2000—2014年,全部市場是比力火热的,跟着網诺遊戲的風行,和智妙手機的普及,遊戲的愈来愈低迷。
七阐发陈述
阐发陈述有時候再写PPT........ |
|