全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

互动剧本练习题

发布时间:2022-06-07 10:34:00
发布人:wjy

  1.解开数据分析的面纱

  互动练习:第一个numpy数组

  关键知识点:

  np.array

  练习介绍:

  本节课中我们学习并了解了numpy中数组的创建以及切片的知识点,下面让我们进行一下练习,巩固一下知识点

  题目说明

  题目要求:

  《多啦A梦》大雄班考试结果出来了,成绩存储于列表scores,现在要根据列表将其创建为数组,并检验最后结果是否是数组类型的

  题目讲解:

  1. 导入numpy包 并将其重命名为np

  2. 使用np.array将列表scores创建为数组,并赋值为score_arr

  3. 使用type获取score_arr的类型,并呈现出来

  步骤说明

  解题思路:

  1. 导入numpy包 并将其重命名为np

  2. 使用np.array将列表scores创建为数组,并赋值为score_arr

  3. 使用type获取score_arr的类型,并呈现出来

  代码实现:

# 声明一个列表 存放大雄班级的学生成绩
scores = [77, 65, 83, 92, 57, 88]

# 导入numpy包 并将其重命名为np
import numpy as np

# 使用np.array将列表scores创建为数组,并赋值为score_arr
score_arr = np.array(scores)

# 使用type获取score_arr的类型,并呈现出来
print(type(score_arr))

     互动练习:numpy数组的索引与切片

  关键知识点:

  数组的索引和切片

  练习介绍:

  本节课中我们学习并了解了numpy中数组的创建以及切片的知识点,下面让我们进行一下练习,巩固一下知识点

  题目说明

  题目要求:

  《多啦A梦》大雄学校把所有班级的成绩进行了整合与降序排序,依次是1到5班的成绩,校长现在想查看一下3班的成绩以及每个班级中的最高分和最低分

  题目讲解:

  1. 班级是1-5班,所以三班是二维中的第三行

  2. 每个班级的成绩是降序排序完成的,最高的就是第一列,最低的就是最后一列

  步骤说明

  解题思路:

  1. 班级是1-5班,所以三班是二维中的第三行

  2. 每个班级的成绩是降序排序完成的,最高的就是第一列,最低的就是最后一列

  代码实现:

# 声明一个列表 存放学校所有班级的学生成绩
scores = [[92, 87, 83, 76, 66, 54],
         [99, 92, 88, 85, 73, 61],
         [94, 90, 83, 79, 76, 65],
         [88, 87, 85, 79, 76, 70],
         [90, 87, 80, 73, 69, 61]]

# 导入numpy包 并将其重命名为np
import numpy as np

# 使用np.array将列表scores创建为数组,并赋值为score_arr
score_arr = np.array(scores)

# 班级是1-5班,所以三班是二维中的第三行,下标是从0开始的
print(score_arr[2])

# 每个班级的成绩是降序排序完成的,最高的就是第一列,最低的就是最后一列
print(score_arr[:,[0, -1]])

             2.运动健将的体育风采

  互动练习:大雄班级成绩展示

  关键知识点:

  Series的创建

  练习介绍:

  本节课中我们学习并了解了Series的创建以及切片的知识点,下面让我们进行一下练习,巩固一下知识点

  题目说明

  题目要求:

  《多啦A梦》大雄学校要把大雄班级中学生(大雄、胖虎、静香、小夫、英才)及其成绩(62、58、99、76、95)以Series的形式展示出来

  题目讲解:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series

  3. 将姓名和成绩分别放在不同的列表中

  4. 以姓名作为索引,以成绩作为值进行创建

  步骤说明

  解题思路:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series

  3. 将姓名和成绩分别放在不同的列表中

  4. 以姓名作为索引,以成绩作为值进行创建

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series

# 准备数据资源
names = ['大雄', '胖虎', '静香', '小夫', '英才']
scores = [62, 58, 99, 76, 95]

# 创建Series
s = Series(index=names, data=scores)
print(s)

  互动练习:变动的班级

  关键知识点:

  Series的属性与方法

  练习介绍:

  本节课中我们学习并了解了Series的创建以及切片、属性等的知识点,下面让我们进行一下练习,巩固一下知识点

  题目说明

  题目要求:

  《多啦A梦》大雄学校要把大雄班级中学生(大雄、胖虎、静香、小夫、英才)及其成绩(62、58、99、76、95)以Series的形式展示出来,再完成下面的需求:

  1. 静香因爸爸工作的原因转校了,因此需要把静香移除

  2. 班里来了一个转校生明丽,考试成绩是100

  3. 校长抽查成绩,想看胖虎和英才的成绩

  题目讲解:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series

  3. 将姓名和成绩分别放在不同的列表中

  4. 以姓名作为索引,以成绩作为值进行创建

  5. 移除静香

  6. 添加明丽

  7. 通过索引查看胖虎和英才

  步骤说明

  解题思路:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series

  3. 将姓名和成绩分别放在不同的列表中

  4. 以姓名作为索引,以成绩作为值进行创建

  5. 移除静香

  6. 添加明丽

  7. 通过索引查看胖虎和英才

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series

# 准备数据资源
names = ['大雄', '胖虎', '静香', '小夫', '英才']
scores = [62, 58, 99, 76, 95]

# 创建Series
s = Series(index=names, data=scores)
print(s)

# 移除静香
s.drop(index='静香', inplace=True)
print(s)

# 添加明丽
s['明丽'] = 100
print(s)

# 通过索引查看胖虎和英才
print(s[['胖虎', '英才']])

  3.詹姆斯-哈登的致胜宝典

  互动练习:DataFrame的创建

  关键知识点:

  DataFrame的创建

  练习介绍:

  本节课中我们学习并了解了DataFrame的创建以及切片、属性等的知识点,下面让我们进行一下练习,巩固一下知识点

  题目说明

  题目要求:

  《多啦A梦》大雄老师让大雄统计班级中的学生信息,并使用DataFrame展示出来,展示信息有姓名 年龄 性别

  学生信息为

  data = {

  '姓名':[‘大雄’,'静香','胖虎','小夫', '英才'],

  '年龄':[10, 9, 11, 10, 10],

  '性别':['男', '女', '男', '男', '男']

  }

  题目讲解:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series和DataFrame

  3. 根据展示的数据,创建DataFrame

  步骤说明

  解题思路:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series和DataFrame

  3. 根据展示的数据,创建DataFrame

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 准备数据资源
data = {
'姓名':[‘大雄’,'静香','胖虎','小夫', '英才'],
'年龄':[10, 9, 11, 10, 10],
'性别':['', '', '', '', '']
}

# 创建Data
df = DataFrame(data=data)
print(df)

  互动练习:DataFrame属性和方法

  关键知识点:

  DataFrame的属性和方法

  练习介绍:

  本节课中我们学习并了解了DataFrame的创建以及切片、属性等的知识点,下面让我们进行一下练习,巩固一下知识点

  题目说明

  题目要求:

  《多啦A梦》大雄已经使用DataFrame展示了班级学生的信息,如下所示

  姓名 年龄 性别

  0 大雄 10 男

  1 静香 9 女

  2 胖虎 11 男

  3 小夫 10 男

  4 英才 10 男

  下面根据要求完成对应的操作

  1. 老师感觉这个行索引比较单调,想让大雄改成 001, 002, 003, 004, 005

  2. 老师想看一下003和005学生的信息

  3. 老师想看一下每个学生姓名及其性别

  4. 老师想看一下003和005学生的性别

  题目讲解:

  在数据结构的基础上,使用rename修改行索引,然后使用.loc获取多行数据以及多列数据

  步骤说明

  解题思路:

  1. 在数据的基础上使用rename修改行索引

  2. 在数据的基础上使用.loc获取多行

  3. 在数据的基础上使用df[[列,列1]]形式获取多列

  4. 使用.loc获取多行的基础上获取列

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 准备数据资源
data = {
'姓名':[‘大雄’,'静香','胖虎','小夫', '英才'],
'年龄':[10, 9, 11, 10, 10],
'性别':['', '', '', '', '']
}

# 创建DataFrame
df = DataFrame(data=data)
print(df)

# 1.修改行索引
df.rename(index={0:'001', 1:'002', 2:'003', 3:'004', 4:'005'}, inplace=True)
print(df)

# 2. 获取多行数据
rows = df.loc[['003', '005']]
print(rows)

# 3.获取多列
columns = df[['姓名', '性别']]
print(columns)

# 4. 多行多列
data = df.loc[['003', '005'], '性别']
print(data)

  4.抖音大V谁家最强

  互动练习:DataFrame读取文件

  关键知识点:

  DataFrame读取文件

  练习介绍:

  本节课中我们学习并了解了DataFrame对文件的读写操作, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  已知当前目录下有Euro2012_stats.csv 欧洲杯信息文件,将其读取出来并把第一列当做行索引

  题目讲解:

  使用read_csv方法读取文件,并设置index_col

  步骤说明

  解题思路:

  1. 导入pandas 重命名为pd

  2. 在pandas中导入Series和DataFrame

  3. 使用pd.read_csv读取文件

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 使用pd.read_csv读取文件 并把行索引设置为第一列的下标【以第一列为行索引】
df = pd.read_csv('Euro2012_stats.csv', index_col=0)
print(df)

  互动练习:DataFrame写入数据

  关键知识点:

  DataFrame项文件中写入数据

  练习介绍:

  本节课中我们学习并了解了DataFrame对文件的读写操作, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  读取Euro2012_stats.csv 欧洲杯信息文件,并把第一列当做行索引,将数据集中的列Yellow Cards和Red Cards这几列单独提取出来存储与一个新的team.csv文件中

  题目讲解:

  1. 读取数据

  2. 提取Yellow Cards 和 Red Cards这两列赋值给新的变量team

  3. team.to_csv存储与team.csv文件中

  步骤说明

  解题思路:

  1. 读取数据

  2. 提取Yellow Cards 和 Red Cards这两列赋值给新的变量team

  3. team.to_csv存储与team.csv文件中

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 使用pd.read_csv读取文件 并把行索引设置为第一列的下标【以第一列为行索引】
df = pd.read_csv('Euro2012_stats.csv', index_col=0)
print(df)

# 提取Yellow Cards Red Cards这两列赋值给新的变量team
team = df[['Yellow Cards', 'Red Cards']]
print(team)
# team.to_csv存储与team.csv文件中
team.to_csv('team.csv')

  5.电影大屏幕的捞金霸主

  互动练习:DataFrame空值与重复项处理

  关键知识点:

  DataFrame空值与重复项处理

  练习介绍:

  本节课中我们学习并了解了DataFrame空值与重复项处理, 下面我们使用练习来进行巩固吧

互动剧本练习题

  题目说明

  题目要求:

  已有DataFrame中数据格式如下

  姓名 年龄 性别 成绩 班级

  1 王乐乐 17 男 77 1班

  2 耿慧慧 16 女 85 1班

  3 赵亮亮 18 男 91 1班

  4 王乐乐1 16 NaN 87 1班

  5 于聪聪 17 男 69 1班

  6 王乐乐 17 男 77 1班

  完成如下操作:

  1. 对性别这一列对空值从上向下填充

  2. 删除数据中的重复项

  题目讲解:

  1. 根据数据使用fillna对空值填充

  2. 使用drop_duplicates对重复行处理

  步骤说明

  解题思路:

  1. 根据数据使用fillna对空值填充

  2. 使用drop_duplicates对重复行处理

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

import numpy as np
# 准备数据
data = {
    '姓名': ['王乐乐', '耿慧慧', '赵亮亮', '王乐乐1', '于聪聪', '王乐乐'],
    '年龄': [17, 16, 18, 16, 17, 17],
    '性别': ['', '', '', np.nan, '', ''],
    '成绩': [77, 85, 91, 87, 69, 77],
    '班级': ['1', '1', '1', '1', '1', '1']
}
df = DataFrame(data=data, index=range(1, 7))
print(df)

# 根据数据使用fillna对空值填充
df['性别'].fillna(method='ffill', inplace=True)
print(df)

# 使用drop_duplicates对重复行处理
df.drop_duplicates(inplace=True)
print(df)

  6.药房与考试大融合

  互动练习:DataFrame合并、筛选及排序

  关键知识点:

  DataFrame合并、筛选及排序

  练习介绍:

  本节课中我们学习并了解了DataFrame合并、筛选及排序, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  有state-abbrevs.csv、state-areas.csv、state-population.csv三个文件分别表示各州名及其对应的缩写、各州对应的面积、各州人数情况,已经三个文件中的数据读取并分别赋予给了abbrevs、areas、population三个变量,各个数据格式为:

  abbrevs中的数据:

  state abbreviation

  0 Alabama AL

  1 Alaska AK

  2 Arizona AZ

  ...

  areas中的数据:

  state area (sq. mi)

  0 Alabama 52423

  1 Alaska 656425

  2 Arizona 114006

  ...

  population中的数据:

  state/region ages year population

  0 AL under18 2012 1117489.0

  1 AL total 2012 4817528.0

  2 AL under18 2010 1130966.0

  3 AL total 2010 4785570.0

  ...

  完成下列需求

  1. 合并state-population和state-abbrevs两个DataFrame,分别依据state/region列和abbreviation 列来合并,为了保留所有数据,建议使用外合并 将结果赋值给state_population

  2. 在state_population去除abbreviation的那一列(axis=1)

  3. 将state_population与areas进行合并 保留所有数据 并赋值给 state_areas_population

  4. 筛选出2010年各州人口数据 并赋值给state_population_2010

  5. 对state_population_2010按照人口数population进行降序排序

  题目讲解:

  1. 使用merge合并两个数据

  2. 使用drop删除指定列

  3. 使用merge合并

  4. 筛选year为2010并且ages为total的数据

  5. 使用sort_values进行排序

  步骤说明

  解题思路:

  1. 使用merge合并两个数据

  2. 使用drop删除指定列

  3. 使用merge合并

  4. 筛选year为2010并且ages为total的数据

  5. 使用sort_values进行排序

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

import numpy as np
# 导入数据
abbrevs = pd.read_csv('state-abbrevs.csv')
print(abbrevs)

areas = pd.read_csv('state-areas.csv')
print(areas)

population = pd.read_csv('state-population.csv')
print(population)

# 合并数据
state_population = abbrevs.merge(population, how='outer', left_on='abbreviation', right_on='state/region')
print(state_population)

# 删除列
state_population.drop(columns=['abbreviation'], inplace=True)
print(state_population)
# 将面积合并进来
state_areas_population = state_population.merge(areas, how='outer')
print(state_areas_population)
# 筛选数据
state_population_2010 = state_areas_population[(state_areas_population.year==2010) & (state_areas_population.ages=='total')]
print(state_population_2010)
# 降序排序
state_population_2010.sort_values(by='population', ascending=False, inplace=True)
print(state_population_2010)

  7.李佳琦也会赶来看热闹

  互动练习:DataFrame分组与聚合函数

  关键知识点:

  DataFrame分组与聚合函数

  练习介绍:

  本节课中我们学习并了解了DataFrame分组与聚合函数, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  读取tips.csv中的数据

  | total_bill | tip | sex | smoker | day | time | size

  | 消费金额 | 小费 | 性别 | 是否吸烟 | 用餐时间(星期几) | 用餐时间(早中晚) | 用餐人数

  完成下面需求:

  1. 根据smoker进行分组 统计吸烟者与不吸烟者的数量

  2. 根据time进行分组 统计每个时间段的用餐人数

  3. 根据day与time进行分组 统计不同时间的消费金额总值与平均值

  题目讲解:

  1. 使用groupby根据smoker进行分组 在获取每个分组下的个数

  2. 使用groupby根据time进行分组 求用餐人数size的和

  3. 使用groupby根据day和time进行分组 求消费金额total_bill的sum和 与 mean平均值

  步骤说明

  解题思路:

  1. 使用groupby根据smoker进行分组 在获取每个分组下的个数

  2. 使用groupby根据time进行分组 求用餐人数size的和

  3. 使用groupby根据day和time进行分组 求消费金额total_bill的sum和 与 mean平均值

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 准备数据
tips = pd.read_csv('tips.csv')
print(tips)

# 使用groupby根据smoker进行分组 在获取每个分组下的个数
smoker_size = tips.groupby(by='smoker').size()
print(smoker_size)

# 使用groupby根据time进行分组 求用餐人数size的和
total_size = tips.groupby(by='time').agg({'size':'sum'})
print(total_size)

# 使用groupby根据daytime进行分组 求消费金额total_billsum和 与 mean平均值
total_bills = tips.groupby(by=['day', 'time']).agg({
    'total_bill':['sum', 'mean']
})
print(total_bills)

  8.层层脱下你的衣服

  互动练习:DataFrame层次化索引

  关键知识点:

  DataFrame层次化索引

  练习介绍:

  本节课中我们学习并了解了DataFrame层次化索引, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  《多啦A梦》老师让大雄把班级中第一学期与第二学期的每个学生的Python、Java、C科目成绩整理出来,以下面结构显示:

  第一学期 第二学期

  python java c python java c

  tom 99 65 96 59 66 92

  jack 91 42 65 53 40 44

  lucy 99 90 76 70 38 96

  完成以下要求:

  1. 根据结构创建对应的DataFrame 【成绩随机产生】

  2. 获取lucy第一学期各学科成绩

  3. 查看tom每个学期的各科成绩

  4. 对第二学期的C语言成绩进行降序排序

  题目讲解:

  1. 根据数据结构分析出有两层列索引与一个行索引,因此数据的话是3行6列

  2. 使用np.random.randint随机生成3行6列的数据表示成绩,然后再设置行列索引

  3. 要获取lucy第一学期的成绩的话 可以使用.loc获取行与第一层的列

  4. 要查看tom的成绩只需要使用.loc获取行即可

  5. 先获取第二学期的C语言的成绩,再使用sort_values进行降序排序

  步骤说明

  解题思路:

  1. 根据数据结构分析出有两层列索引与一个行索引,因此数据的话是3行6列

  2. 使用np.random.randint随机生成3行6列的数据表示成绩,然后再设置行列索引

  3. 要获取lucy第一学期的成绩的话 可以使用.loc获取行与第一层的列

  4. 要查看tom的成绩只需要使用.loc获取行即可

  5. 先获取第二学期的C语言的成绩,再使用sort_values进行降序排序

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 导入numpy
import numpy as np

# 分析数据结构
columns = [
    ['第一学期','第二学期'],
    ['python','java','c']
]
mcolumns = pd.MultiIndex.from_product(columns)
index = ['tom','jack','lucy']

# 生成数据
df = DataFrame(data=np.random.randint(30, 100, size=(3, 6)), index=index, columns=mcolumns)
print(df)

# 获取lucy的成绩
lucy = df.loc['lucy', '第一学期']
print(lucy)

# 获取tom的成绩
tom = df.loc['tom']
print(tom)

# 获取c语言的成绩 进行降序排序
c = df[('第二学期', 'c')]
sort_c = c.sort_values(ascending=False)
print(sort_c)

  互动练习:DataFrame的时间操作

  关键知识点:

  DataFrame的时间操作

  练习介绍:

  本节课中我们学习并了解了DataFrame的时间操作dt, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  有一用户行为分析文件userbehaviour.csv,数据结构如下:

  uid gid tid behaviour tel datetime

  1000169 1328010 959452 pv 1505117799 2017/9/11 16:16

  112815 2489903 1487591 pv 1509965092 2017/11/6 18:44

  108233 4336503 3531700 pv 1510320815 2017/11/10 21:33

  uid表示用户id

  gid表示商品id

  tid表示商品类型id

  behaviour表示用户行为 pv是浏览 fav是收藏 buy是购买 cart是加入购物车

  tel是手机号

  datetime表示用户行为对应的时间

  读取文件 完成如下操作

  1. 获取21点用户量

  2. 将小时单独提取出来作为一列添加在数据中 列名为hour

  3. 根据hour进行分组 统计每个时间段的人数

  题目讲解:

  1. 根据dt.hour获取21点的用户量uid的count值

  2. 以dt.hour获取用户的时间以列的形式添加在数据中

  3. 使用groupby进行以hour进行分组 统计每个分组下的数量

  步骤说明

  解题思路:

  1. 根据dt.hour获取21点的用户量uid的count值

  2. 以dt.hour获取用户的时间以列的形式添加在数据中

  3. 使用groupby进行以hour进行分组 统计每个分组下的数量

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 导入numpy
import numpy as np

# 准备数据
df = pd.read_csv('userbehaviour.csv')
print(df)
import datetime
# 要将序列中的所有数据进行转化  需要使用映射  map
df.datetime = df.datetime.map(lambda dt: datetime.datetime.strptime(dt,'%Y/%m/%d %H:%M'))

# 根据dt.hour获取21点的用户量uidcount
count = df[df.datetime.dt.hour == 21].uid.count()
print(count)

# dt.hour获取用户的时间以列的形式添加在数据中
df['hour'] = df.datetime.dt.hour
print(df)

# 使用groupby进行以hour进行分组 统计每个分组下的数量
size = df.groupby(by='hour').size()
print(size)

 

  9.下一个梵高就是你

  互动练习:Matplotlib图形化

  关键知识点:

  Matplotlib图形化

  练习介绍:

  本节课中我们学习并了解了Matplotlib图形化的常见图的绘制, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  读取penguins.csv 记载企鹅的数据,数据结构如下:

species island  bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
0 Adelie Torgersen      39.1          18.7           181.0      3750.0 MALE
1 Adelie Torgersen      39.5          17.4           186.0      3800.0 FEMALE
2 Adelie Torgersen      40.3          18.0           195.0      3250.0 FEMALE
3 Adelie Torgersen      NaN            NaN             NaN        NaN     NaN

  完成如下操作

  1.1 空值处理 将空值进行向上填充

  1.2 使用条形图绘制不同种类species的企鹅平均体重body_mass_g值

  1.3 使用直方图展示不同中类的企鹅鳍长flipper_length_mm值的分布

  1.4 绘制不同岛上展示企鹅数量的饼状图

  题目讲解:

  1. 使用fillna中method='ffill'填充空值

  2. 使用plt.bar展示图形

  3. 使用hist展示不同种类的企鹅鳍长的分布,查看根据鳍长是否能判断出是哪种企鹅

  4. 使用pie展示不同种类的企鹅的数量

  步骤说明

  解题思路:

  1. 使用fillna中method='ffill'填充空值

  2. 使用plt.bar展示图形

  3. 使用hist展示不同种类的企鹅鳍长的分布,查看根据鳍长是否能判断出是哪种企鹅

  4. 使用pie展示不同种类的企鹅的数量

  代码实现:

species island  bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
0 Adelie Torgersen      39.1          18.7           181.0      3750.0 MALE
1 Adelie Torgersen      39.5          17.4           186.0      3800.0 FEMALE
2 Adelie Torgersen      40.3          18.0           195.0      3250.0 FEMALE
3 Adelie Torgersen      NaN            NaN             NaN        NaN     NaN

  10.还在用美颜相机?你out了

  互动练习:Seaborn绘制

  关键知识点:

  Seaborn绘制

  练习介绍:

  本节课中我们学习并了解了Seaborn绘制, 下面我们使用练习来进行巩固吧

  题目说明

  题目要求:

  读取penguins.csv 记载企鹅的数据,数据结构如下:

species island  bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
0 Adelie Torgersen      39.1          18.7           181.0      3750.0 MALE
1 Adelie Torgersen      39.5          17.4           186.0      3800.0 FEMALE
2 Adelie Torgersen      40.3          18.0           195.0      3250.0 FEMALE
3 Adelie Torgersen      NaN            NaN             NaN        NaN     NaN

  完成如下操作

  1.1 空值处理 将空值进行向上填充

  1.2 使用条形图绘制不同种类species的企鹅平均体重body_mass_g值

  1.3 使用直方图展示不同中类的企鹅鳍长flipper_length_mm值的分布

  1.4 绘制不同岛上展示企鹅数量的饼状图

  题目讲解:

  1. 使用fillna中method='ffill'填充空值

  2. 使用seaborn下的barplot展示图形

  3. 使用seaborn的distplot绘制直方图展示不同种类的企鹅鳍长的分布,查看根据鳍长是否能判断出是哪种企鹅

  4. 使用seaborn的lmplot绘制散点图 查看一下喙长bill_length_mm 与 喙宽bill_depth_mm的关系

  步骤说明

  解题思路:

  1. 使用fillna中method='ffill'填充空值

  2. 使用seaborn下的barplot展示图形

  3. 使用seaborn的distplot绘制直方图展示不同种类的企鹅鳍长的分布,查看根据鳍长是否能判断出是哪种企鹅

  4. 使用seaborn的lmplot绘制散点图 查看一下喙长bill_length_mm 与 喙宽bill_depth_mm的关系

  代码实现:

# 导入pandas 并重命名为pd
import pandas as pd

# 导入Series
from pandas import Series, DataFrame

# 导入numpy
import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

penguins = pd.read_csv('penguins.csv')
print(penguins)

# 填充空值
penguins.fillna(method='ffill', inplace=True)
print(penguins)

# 不同种类species的企鹅平均体重body_mass_g值条形图
sns.barplot(x='species', y='body_mass_g', data=penguins, hue='species')

# 不同种类的企鹅的鳍长数据统计 根据数据绘制直方图
sns.displot(data=penguins,  x='flipper_length_mm', hue='species')

# 使用seabornlmplot绘制散点图 查看一下喙长bill_length_mm 与 喙宽bill_depth_mm的关系
sns.lmplot(x='bill_length_mm', y='bill_depth_mm', data=penguins, hue='species')

 

更多关于python培训的问题,欢迎咨询千锋教育在线名师。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。

相关文章

抖音小店怎么联系顾客电话号码

抖音小店怎么联系顾客电话号码

2023-10-08
抖音小店照片要求尺寸多大

抖音小店照片要求尺寸多大

2023-10-08
抖音怎么挂抖音小店的链接

抖音怎么挂抖音小店的链接

2023-10-08
抖音小店怎么开通白名单服务

抖音小店怎么开通白名单服务

2023-10-08

最新文章

上海物联网培训一般费用多少

上海物联网培训一般费用多少

2023-09-12
北京物联网培训费用大概多少

北京物联网培训费用大概多少

2023-09-12
北京物联网培训需要费用高不高

北京物联网培训需要费用高不高

2023-09-12
上海效果好的物联网培训费用高吗

上海效果好的物联网培训费用高吗

2023-09-12
在线咨询 免费试学 教程领取