Python之数据分析(宝可梦数据分析)
在此感谢阿里云天池平台提供的学习平台,并提供相应的教程供小白们学习数据分析。
宝可梦数据分析-平民最强宝可梦选择方案
Seaborn库
Seaborn 是基于 Python 且非常受欢迎的图形可视化库,在 Matplotlib 的基础上,进行了更高级的封装,使得作图更加方便快捷。即便是没有什么基础的人,也能通过极简的代码,做出具有分析价值而又十分美观的图形。
Seaborn 可以实现 Python 环境下的绝大部分探索性分析的任务,图形化的表达帮助你对数据进行分析,而且对 Python 的其他库(比如 Numpy/Pandas/Scipy)有很好的支持。
数据集下载
# 数据集下载
!wget -O pokemon_data.csv https://pai-public-data.oss-cn-beijing.aliyuncs.com/pokemon/pokemon.csv
import我们最常用的三大件:Pandas, Seaborn, Matplotlib, 并且读取数据
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as pltdf = pd.read_csv("./pokemon_data.csv")
首先我们观察一下数据的尺寸。
# 计算出每个特征有多少百分比是缺失的
percent_missing = df.isnull().sum() * 100 / len(df)
missing_value_df = pd.DataFrame({'column_name': df.columns,'percent_missing': percent_missing
})
# 查看Top10缺失的
missing_value_df.sort_values(by='percent_missing', ascending=False).head(10)
然后第二个问题就是:这么多宝可梦,每代分别有几只?这里我们可以通过简单的 df[‘generation’].value_counts() 来得到。但是为了更加直观的表现出不同代的宝可梦的数量差别,这里我们可以用pandas自带的画图的功能来绘制一个柱状图:
# 查看各代口袋妖怪的数量
df['generation'].value_counts().plot.bar()
不难发现,宝可梦数量最多的是在第5代,最少的是在第6代。然后我们再来看不同的主属性的分布。这里我们可以先做一些简单的假设,比如虫属性的宝可梦种类比较多因为在剧中出现的频率相当高,而且有很多种进化。
# 查看每个系口袋妖怪的数量
df['type1'].value_counts().sort_values(ascending=True).plot.barh()
这里我们将之前的柱状图横过来了,更便于观察。这里我们可以看到,数量最多的宝可梦是水系,然后是普通,然后是草系。虫系只排在了第四,并没有和预期中那样那么多。
看完了基础的一些分布,接下来我会想做一些简单的相关性分析。我们可以通过以下的代码生成相关性图
# 相关性热力图分析
plt.subplots(figsize=(20,15))
ax = plt.axes()
ax.set_title("Correlation Heatmap")
corr = df.corr()
sns.heatmap(corr, xticklabels=corr.columns.values,yticklabels=corr.columns.values)
接下来我们从宝可梦在实战中的角度来分析这组数据。这里我们只关注六个基础值:血量,攻击力,防御力,特攻,特防,速度。因为只有这六个基础值决定了一只宝可梦的战斗力在不考虑派系克制的情况下。
interested = ['hp','attack','defense','sp_attack','sp_defense','speed']
sns.pairplot(df[interested])
这里我们可以看到大部分都是成正比例的,一个值的提高往往会拉高另外一个值。这点我们通过相关性热力图也可以看到
# 通过相关性分析heatmap分析五个基础属性
plt.subplots(figsize=(10,8))
ax = plt.axes()
ax.set_title("Correlation Heatmap")
corr = df[interested].corr()
sns.heatmap(corr, xticklabels=corr.columns.values,yticklabels=corr.columns.values,annot=True, fmt="f",cmap="YlGnBu")
看完这些以后,我们就可以开始计算种族值然后来选取我们的平民神兽了。毕竟不是每个人都能收服代欧奇希斯,超梦,梦幻这种传说级别的宝可梦。这里我们可以通过如下方式,先做一个特征类型转化,然后再计算
for c in interested:df[c] = df[c].astype(float)
df = df.assign(total_stats = df[interested].sum(axis=1))
这样我们就完成了用 total_stats 这个字段来存储种族值这一特征。我们可以做个柱状图可视化来看看种族值的分布是什么样的:
# 种族值分布
total_stats = df.total_stats
plt.hist(total_stats,bins=35)
plt.xlabel('total_stats')
plt.ylabel('Frequency')
Python之数据分析(宝可梦数据分析)相关推荐
- Python基础入门:从0完成一个宝可梦数据分析实战-Task4-阿里云天池
Python基础入门:从0完成一个宝可梦数据分析实战-Task4-阿里云天池 〇.整体的学习感受 本篇数据分析实战的文案写得十分接地气,以一个大家都耳熟能详的卡通游戏ID作为范本素材,并且将数据分析的 ...
- 宝可梦数据分析-平民最强宝可梦选择方案
宝可梦数据分析-平民最强宝可梦选择方案 数据集下载 数据时代的到来刷新了人们探索未知的方式,从基础能源建设到航天航空工程.在关都地区真新镇大木研究所一直孜孜不倦对精灵宝可梦进行研究的大木博士也不例外, ...
- python 宝可梦_Python数据分析 | 宝可梦篇2
目标: 一.各种族系数量占比 二.各世代宝可梦数量 三.种族值解析 四.传说宝可梦相关分析,各时代占比,属性值与传说宝可梦的相关性,种族系与传说宝可梦的相关性 五.各世代推荐宝可梦 #导入三个Pyth ...
- python数据分析实战之宝可梦数据分析
学习介绍: 经过python基础的学习,利用一个数据分析实战,实现数据分析. 学习内容目录: 1. 数据导入 2.处理 3. 排序 4. 相关性分析 5.筛选 学习内容: 一.数据集下载 !wget ...
- Tenth day阿里云天池打卡之宝可梦数据分析
一.今日学习内容概括:学习了使用python对宝可梦相关数据进行分析 二.具体学习内容: step1:导入csv数据集,导入Pandas, Seaborn, Matplotlib以便于后续进行数据的可 ...
- 天池赛:宝可梦数据分析–龙系小精灵分享
目录 一.数据集介绍 二.数据探索 1.数据相关性 2.查看各个种族的属性总值分布 3.种族属性雷达图 三.总体可视化展示 四.龙系宝可梦数据可视化展示 附录 1.龙系宝可梦属性图 2.龙系宝可梦图鉴 ...
- Python4学习笔记--宝可梦数据分析
运用数据分析的方式来了解宝可梦这种神奇的生物 首先进行数据集下载 # 数据集下载 !wget -O pokemon_data.csv https://pai-public-data.oss-cn-be ...
- DAY10 宝可梦数据分析
数据集下载 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv(&qu ...
- 【宝可梦数据分析–数据相关性分析及可视化】
#数据集链接:https://pan.baidu.com/s/1U0XDJmi_lYI84UkPHgpDfA #提取码:1234 #导入相关库并打开CSV文件 import matplotlib.py ...
最新文章
- Tomaso Poggio:深度学习需要从炼金术走向化学
- cd rw 多少次_程序员:想知道你每天按了多少次键盘吗?
- 正则基础之 NFA引擎匹配原理
- dp打开思路4:POJ1189 UVA12511 HDU2845 HBCPC K
- mysql rpm安装报错_Mysql rpm包安装
- 印度 语言简称_保存印度的语言和文化:图卢维基百科的诞生
- java中 银行存款取款_java银行存款取款
- 8086的总线操作顺序
- 运动目标跟踪(一)--搜索算法预测模型之KF,EKF,UKF
- 高效程序员秘籍(9):快速查找硬盘上的文件和目录
- AE还是AO了开发小结!!!!!至今没搞懂我用的是AE还是AO
- 调整数组使奇数全部都位于偶数前面
- cxonev4验证用户_欧姆龙plc编程软件下载 omron plc编程软件(CX-ONE) v4.31 中文免费版(附序列号+安装教程) 下载-脚本之家...
- 查看redis安装路径
- cad卸载工具_Adobe软件卸载与常见问题解决方案
- CCF CSP 归一化处理
- Spurious Local Minima are Common in Two-Layer ReLU Neural Networks
- 打开office word 2003 时出现了“出现问题需要关闭,是否发送错误报告”
- 地铁与日本移动互联网
- 2021青岛十九中高考成绩查询,@青岛高考生 2020新高考模拟考可以查成绩了