【python作品】2019steam游戏top100可视化分析

项目场景:

对2019年steam中热度最高的100款游戏进行分析并可视化展示,项目基于jupyter notebook实现。

项目简介

代码使用Pandas库读取"data.csv"数据文件,文件包含游戏相关信息,如平均在线人数、类型、游戏名称、发布时间和评分等。然后,对数据进行整理和处理,包括删除不需要的列、对评分进行分级、处理发布时间格式、清理平均在线人数中的逗号等。接下来,为绘制气泡图,代码定义了一些颜色和尺寸相关的函数,以及对应不同游戏类型的颜色和点大小,并将这些信息插入到数据中。最后,通过Matplotlib库绘制游戏热度的气泡图,横坐标为发布时间,纵坐标为评级,每个点的颜色和大小表示游戏类型和平均在线人数。


原因分析:

#数据整理
import pandas as pd
index_pd0=['平均在线数','人数峰值','类型','游戏名称','发布时间','评分']
df0=pd.read_csv('data.csv',encoding='utf-8',names=index_pd0,header=None)
df1=df0[['平均在线数','类型','游戏名称','发布时间','评分']]
levels=pd.cut(df1['评分'],[0,3,7,10],labels=list('CBA'))
del df1['评分']
df1.insert(3,'评级',levels)
lis=df1['发布时间'].apply(lambda i : i+2000)
del df1['发布时间']
df1.insert(3,'发布时间',lis)
type0=df1['类型'].apply(lambda i : i.strip())
del df1['类型']
df1.insert(1,'类型',type0)
num=df1['平均在线数'].apply(lambda i : i.replace(',',''))
del df1['平均在线数']
df1.insert(0,'平均在线数',num)
#为做气泡图准备数据
colors = ['b','g','r','orange','y','gold','pink']
lable_link=['moba','fps','策略','沙盒','其他','战争','模拟']
def col(typ):
    return colors[lable_link.index(typ)]
color=df1['类型'].apply(col)
df1.insert(5,'颜色',color)
def siz(number):
    return int(int(number)/1000)
size=df1['平均在线数'].apply(siz)
df1.insert(6,'点体积',size)
%matplotlib inline
#图像初始化
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\MSYHBD.TTC")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False 
fig,ax=plt.subplots()
ax.set_title('游戏热度')
# x=df1['发布时间']
# y=df1['评级']
plt.xlabel('发布时间') 
plt.ylabel('评级')  
#通过循环逐点画图
for i in range(0,100):
    plt.scatter(int(df1.loc[i,['发布时间']].values),''.join(list(df1.loc[i,['评级']].values)),c=''.join(list(df1.loc[i,['颜色']].values)),s=int(df1.loc[i,['点体积']].values),alpha=0.7)

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值