星际争霸游戏战队案例分析
import pandas as pd import numpy as np import matplotlib.pyplot as plt #1.加载并查看数据基本信息 def read_dataset(file_root):dataframe=pd.read_csv(file_root)print("数据的基本信息:")print(dataframe.info())print("数据集有%i行,%i列"%(dataframe.shape[0],dataframe.shape[1]))print("数据预览:")print(dataframe.head())return dataframe #2.处理缺失数据 def processing_missing_data(dataframe):if (dataframe.isnull().values.any()):dataframe.fillna(0.)#dataframe.dropna()return dataframe #3.可视化数据 def visualize_data(dataframe,save_fig=True):fig=plt.figure()ax1=fig.add_subplot(2,2,1)ax2=fig.add_subplot(2,2,2)ax3=fig.add_subplot(2,2,3)ax4=fig.add_subplot(2,2,4)#解决matplotlib显示中文的问题plt.rcParams["font.sans-serif"]=["SimHei"]#指定默认字体plt.rcParams["axes.unicode_minus"]=False#解决保存图像是负号显示为方块问题fig.suptitle("战队属性")ax1.scatter(dataframe["LeagueIndex"],dataframe["Age"])ax1.set_xlabel("战队")ax1.set_ylabel("年龄")ax2.scatter(dataframe["LeagueIndex"],dataframe["HoursPerWeek"])ax2.set_xlabel("战队")ax2.set_ylabel("每周游戏时间")ax3.scatter(dataframe["LeagueIndex"], dataframe["APM"])ax3.set_xlabel("战队")ax3.set_ylabel("APM")ax4.scatter(dataframe["LeagueIndex"], dataframe["WorkersMade"])ax4.set_xlabel("战队")ax4.set_ylabel("单位时间建造数")if save_fig:plt.savefig("H:/pythonfigure/league.png")plt.show() #4.可视化数据统计 def visualize_league_data(dataframe,attribution,save_fig=True):min_data=[]max_data=[]mean_data=[]for i in range(1,9):filter_data=dataframe.ix[dataframe["LeagueIndex"]==i,attribution]min_data.append(filter_data.min())max_data.append(filter_data.max())mean_data.append(filter_data.mean())league_series=pd.Series(range(1,9),name="LeagueIndex")min_series=pd.Series(min_data,name="min")max_series=pd.Series(max_data,name="max")mean_series=pd.Series(mean_data,name="mean")dataframe_rst=pd.concat([league_series,min_series,max_series,mean_series],axis=1)if save_fig:dataframe_rst.to_csv("H:/pythonfigure/min_max_mean.csv")#统计值可视化fig=plt.figure()ax1=fig.add_subplot(1,1,1)#解决matplotlib显示中文问题plt.rcParams["font.sans-serif"]=["SimHei"]#指定默认字体plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题ax1.plot(dataframe_rst["LeagueIndex"],dataframe_rst["min"],color='b')ax1.plot(dataframe_rst["LeagueIndex"],dataframe_rst["max"],color='g')ax1.plot(dataframe_rst["LeagueIndex"],dataframe_rst["mean"],color="r")ax1.set_xlabel("战队")ax1.set_ylabel("attribution")ax1.legend()if save_fig:plt.savefig("H:/pythonfigure/min_max_mean.png")plt.show()#加载数据 dataframe=read_dataset("H:/pythonfigure/starcraft.csv") #处理缺失数据 df_data=processing_missing_data(dataframe) #可视化数据 visualize_data(df_data,save_fig=True) #可视化统计指标 visualize_league_data(df_data,"Age",save_fig=True) visualize_league_data(df_data,"HoursPerWeek",save_fig=True) visualize_league_data(df_data,"APM",save_fig=True) visualize_league_data(df_data,"WorkersMade",save_fig=True)
星际争霸游戏战队案例分析相关推荐
- 多智能体强化学习_基于多智能体强化学习主宰星际争霸游戏
大家好,今天我们来介绍基于多智能体强化学习主宰星际争霸游戏这篇论文 Grandmaster level in StarCraft II using multi-agent reinforcement ...
- php 星际争霸 面向对象,php面向对象基础详解【星际争霸游戏案例】
本文实例讲述了php面向对象基础.分享给大家供大家参考,具体如下: 前言 面向对象博大精深,对于从未接触过得的人,会觉得一头雾水. 学习的资料很多,但大多比较抽象,所以我用经典的游戏-星际争霸来讨论P ...
- Java项目:星际争霸游戏(java+swing+awt界面编程+IO输入输出流+socket+udp网络通信)
源码获取:博客首页 "资源" 里下载! 功能简介: 星际争霸游戏项目,该项目实现了单人模式和多人合作模式,可记录游戏进度,新建游戏,载入历史记录等功能,多人模式下可以创建一个区,然 ...
- java手机游戏星际争霸_java Swing实现的星际争霸游戏源码
今天给大家介绍一下由Java swing实现的星际争霸游戏项目,该项目实现了单人模式和多人合作模式,可记录游戏进度,新建游戏,载入历史记录等功能,多人模式下可以创建一个区,然后邀请玩家加入一起玩,主要 ...
- 如何用python语言控制星际争霸游戏
StarCraft II API是由暴雪开发的一个接口,允许研究人员和开发人员通过Python程序访问游戏状态并控制单元.这个API是专为人工智能研究而设计的,不适用于玩游戏. 安装和使用StarCr ...
- php迭代器实例,php设计模式之迭代器模式实例分析【星际争霸游戏案例】
本文实例讲述了php设计模式之迭代器模式.分享给大家供大家参考,具体如下: 星际的任务关一般会有这样的设定:一开始电脑的农民不采矿,如果战斗打响,或者玩家造出第一个兵,电脑的农民开始采矿. 我们自然会 ...
- 星际争霸php,php设计模式之建造器模式分析【星际争霸游戏案例】
本文实例讲述了php设计模式之建造器模式.分享给大家供大家参考,具体如下: 星际里面有不少的任务关,也可以自己编辑地图,画面上有各种地形,建筑和部队. 这存在一个问题,初始化画面的流程很乱. 待解决的 ...
- 星际争霸php,php设计模式之原型模式分析【星际争霸游戏案例】
本文实例讲述了php设计模式之原型模式.分享给大家供大家参考,具体如下: 我们一般用new来新增对象,不过很多时候新增一个对象需要一些工作.而星际里面往往会新增某些类的大量的对象,比如新增很多机枪兵和 ...
- 星际争霸游戏中的操作心得
出于对星际的热爱,我在网上找了很多次有关微操技巧的文章.但是让我很失望的是,除了一些关于基本的龙骑舞,克隆等基本的现在大家都已经熟悉的操作介绍之外,几乎找不到一些更详细的文章(不过有几篇关于追尾,还有 ...
最新文章
- android java服务器文件传输_java – 使用FTPS将文件从android传输到服务器
- linux 访客日志ip,shell统计ip访问情况,要求分析访问日志分析。
- 手写自己的MyBatis框架-V2.0参数处理
- Python3OS文件/方法
- 开发人员眼中最好的代码编辑器是谁?
- bat java 启动脚本_bat批处理启动java程序通用脚本
- 群聊金山云与英特尔的“AI as a Service”,你都get到了什么?
- dubbo官方文档_狂神说SpringBoot17:Dubbo和Zookeeper集成
- 2001.dumpbin工具使用
- Undefined function 'conv2' for input arguments of type 'double' and attributes 'full 3d complex'.
- 为什么其他计算机连接需要密码是什么东西,连接其他电脑需要密码怎么处理
- Vue.js学习系列(八)---使用路由搭建单页应用(一)
- 罗技鼠标驱动怎么设置宏?
- 阿里矢量图库icomoon的icon引用方法
- 龙果学院从无到有构建亿级微服务秒杀系统
- xbox微软服务器崩溃了,微软的Xbox游戏条因0x803F8001错误而崩溃
- win10 myeclipse2017安装教程(附安装包)
- python循环速度提高_提高python中for循环的速度
- ubuntu20.04截图快捷键
- 《算法笔记》胡凡——4.2散列
热门文章
- 三极管和MOS管的使用及区别
- ML / SML 常见错误解决办法
- 20 多个国外优秀Android开源 App
- 安装mathtype时找不到文件mathpage.wil
- ca机构将会被区块链取代
- ubuntu 16.04 chrome flash player 插件更新(adobe flash player 不是最新版本)
- java—JSON(课堂笔记篇)
- NJU 2020 计算机拔尖(数学)测试 解题报告
- pak文件的打包和解包
- 2016-2017 7th BSUIR Open Programming Contest. Final 补题