【ML&Py】×阿里云天池Python训练营(day10打卡)——Python数据分析:从0完成一个宝可梦数据分析实战
一、学习内容概览
1.1 学习地址:阿里云天池python训练营
1.2 思维导图
二、具体学习内容
2.1 数据分析基本介绍
宝可梦数据分析-平民最强宝可梦选择方案
数据时代的到来刷新了人们探索未知的方式,从基础能源建设到航天航空工程。在关都地区真新镇大木研究所一直孜孜不倦对精灵宝可梦进行研究的大木博士也不例外,在剧中我们就常常可以看到大木博士制作的精灵图鉴一直在给探险家们提供宝可梦的简单分析,包括宝可梦的身高,体重,特性等等。但是作为从小就向往前往大木博士研究所成为宝可梦联盟最强训练师/宝可梦研究大师的我,仅仅是分析单个宝可梦的数据远远满足不了我的需求。
与其他探险家旅游挑战道馆的方式不同,我决定通过使用数据分析的方式来帮助我更好的了解宝可梦这种神奇的生物,然后再选择最经济实惠,简单好抓的宝可梦来挑战联盟。通过使用搜索引擎,我找到了一份包含着从第一代到第七代共801只宝可梦的数据集。
2.2 数据准备以及读取
2.2.1 数据集下载
!wget -O pokemon_data.csv https://pai-public-data.oss-cn-beijing.aliyuncs.com/pokemon/pokemon.csv
2.2.2 下载seaborn(图形可视化库)
!pip install seaborn --user -q
2.2.3 然后我们import我们最常用的三大件:Pandas, Seaborn, Matplotlib, 并且读取数据
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv("./pokemon_data.csv")
2.3 数据探索
首先我们观察一下数据的尺寸,可以通过 df.shape 这个来实现。当然 df.info() 能够给我们更加详细的每个列的信息。这里我们通过这个方式,可以发现这个数据集一共收录了801行,41列的数据。说明一共有801只宝可梦,每只宝可梦我们有41个特征来描述它们。
df.info()
然后就迎来了我们的第一个问题:这么多特征,是否会有数据缺失呢?毕竟有些宝可梦比较神秘感,就连大木博士都不一定知道。这里我们可以通过如下代码来观察每个特征的缺失情况:
# 计算出每个特征有多少百分比是缺失的
percent_missing = df.isnull().sum() * 100 / len(df)
missing_value_df = pd.DataFrame({
'column_name': df.columns,
'pe