收藏 分销(赏)

Python数据分析案例教程课后练习题答案1-10章全章节测试题库.docx

上传人:精*** 文档编号:3157983 上传时间:2024-06-21 格式:DOCX 页数:9 大小:126.44KB
下载 相关 举报
Python数据分析案例教程课后练习题答案1-10章全章节测试题库.docx_第1页
第1页 / 共9页
Python数据分析案例教程课后练习题答案1-10章全章节测试题库.docx_第2页
第2页 / 共9页
Python数据分析案例教程课后练习题答案1-10章全章节测试题库.docx_第3页
第3页 / 共9页
Python数据分析案例教程课后练习题答案1-10章全章节测试题库.docx_第4页
第4页 / 共9页
Python数据分析案例教程课后练习题答案1-10章全章节测试题库.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、第1章 答案1-1 现在让你分析月销量,你会使用哪种数据分析方法?答案:对比分析1-2 在分析一组数据前,发现并不是所有数据都是你需要的,该怎么办?答案:通过数据处理中的数据规约,减少数据规模1-3 如果发现数据中存在异常数据,如年龄200,该如何处理?答案:删除1-4 数据中存在值为0的数据影响分析结果吗?答案:当我们有大量完整的数据时,删除少部分值为0的数据,对数据分析结果不会造成太大影响。1-5 Python中与数据分析相关的模块有哪些?答案:常用模块有数值计算模块NumPy、数据处理分析模块Pandas、数据可视化模块Matplotlib、机器学习模块scikit-learn1-6 E

2、xcel数据中存在大量空值,你将使用哪个模块处理?答案:Pandas模块1-1 简述NumPy模块的由来与作用?Numeric模块是NumPy模块的前身,在1995年由Jim Hugunin 与其他协作者共同开发。随后又出现了Numarray模块,该模块与Numeric模块相似都是用于数组计算的,但是这两个模块都有着各自的优势,对于开发者来说,需要根据不同的需求选择开发效率更高的模块。在2006年Travis Oliphant将Numeric模块中结合了Numarray模块的优点,并加入了其他扩展而开发了 NumPy模块的第一个版本。NumPy 为开放源代码,使用了BSD许可证授权,并且由众多

3、开发者共同维护开发。1-2 numpy 常用的数据类型都有哪些?numpy模块常用的数据类型如下表所示。数据类型描述np.bool布尔值(True或False)np.int_默认的整数类型(与 C 语言中的 long相同,通常为int32 或 int64)np.intc与 C 的 int 类型一样,(通常为int32 或 int 64)np.intp用于索引的整数类型(与 C中 的 size_t相同,通常为是 int32 或 int64)np.int8字节(-128到127)np.int16整数(-32768至32767)np.int32整数(-2147483648至2147483647)np

4、.int64整数(-9223372036854775808至9223372036854775807)np.uint8无符号整数(0到255)np.uint16无符号整数(0到65535)np.uint32无符号整数(0到4294967295)np.uint64无符号整数(0到18446744073709551615)np.half/np.float16半精度浮点数:1个符号位,5位指数位,10位小数部分np.float32单精度浮点数,1个符号位,8个指数位,23 位小数部分np.float64/np.float_双精度浮点数,1 个符号位,11个指数位,52 位小数部分plex64复数,表示

5、两个32 位浮点数(实数部分和虚数部分)plex128/plex_复数,表示两个64 位浮点数(实数部分和虚数部分)1-3 简述什么是ndarray()对象?ndarray()对象是NumPy模块的基础对象,用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域,而数据类型是由dtype()对象所指定的,每个ndarray只有一种dtype类型。数组有一个比较重要的属性是shape,数组的维数与元素的数量就是通过shape来确定的。数组的形状(shape)是由N个正整数,组成的元组来指定的,元组的每个元素对应每一维的大小。数组在创建时被指定大小后将不会再发生改

6、变,而Python中的列表大小是可以改变的,这也是数组与列表区别较大的地方。 1-4 通过哪个函数可以快速生成一个任意维数的数组?1. rand()函数rand()函数用于生成一个任意维数的数组,数组的元素取自01上的均分布,如果没有设置参数的情况下,则生成一个数。【例2-8】使用rand()函数创建一个随机数组。代码如下:(实例位置:资源包Code第2章2-8)import numpy as np # 导入numpy模块a = np.random.rand(2,3,2) # 创建随机数组print(数组内容为: n,a) # 打印数组内容print(数组形状为:,a.shape) # 打印数

7、组形状print(数组维数为:,a.ndim) # 打印数组维数运行结果如下:数组内容为: 0.73907586 0.87176277 0.42022933 0.77297553 0.47148362 0.48561028 0.86624807 0.78783422 0.3208552 0.52580099 0.31325425 0.94394843数组形状为: (2, 3, 2)数组维数为: 31-5 简述什么是广播机制?广播(Broadcast)机制只有在实现两个形状不同的数组计算时才会触发,例如,数组a和数组b的形状相同,那么数组a乘以数组b的结果就是两个数组对应位相乘,这样的计算需要维

8、数与维度长度相同。当计算两个不同形状的数组时,numpy将自动触发广播机制,此时需要将较小的数组形状进行扩展,让两个数组形状相同,以便于进行两个数组元素的计算。 1-1简述pandas的数据结构?pandas的数据结构中有两大核心,分别是Series与DataFrame。其中Series是一维数组和Numpy中的一维数组类似。这两种一维数组与Python中基本数据结构List相近,Series可以保存多种数据类型的数据,如布尔值、字符串、数字类型等。DataFrame是一种以表格形式的数据结构类似于Excel表格一样,是一种二维的表格型数据结构。1-2 简述pandas提供了哪几个读取数据库信

9、息的函数并介绍每个函数的特点?pandas提供了三个函数用于实现数据库信息的读取操作,具体函数如下:q read_sql_query()函数:可以实现对数据库的查询操作,但是不能直接读取数据库中的某个表,需要在sql语句中指定查询命令与数据表的名称。q read_sql_table()函数:只能实现读取数据库中的某一个表内的数据,并且该函数需要在SQLAlchemy模块的支持下才可以使用。q read_sql()函数:该函数则是一个比较全能的函数,即可可以实现读取数据库中某一个表的数据,也可以实现具体的查询操作。1-3 简述NaN数据是什么?NaN数据在numpy模块中用于表示空缺数据。1-4

10、 简述什么是分组数据?pandas提供了一个groupby()方法,通过该方法对数据集分组后将返回一个(数据集为Series对象时)SeriesGroupBy对象或(数据集为DataFrame对象时)DataFrameGroupBy对象,然后通过该对象根据需求调用不同的计算函数来实现整组数据的计算功能,例如获取整组数据的总和、平均值等等。1-5 简述什么是聚合数据?pandas不仅提供了一个可以实现对数据进行分组的groupby()方法,还提供了agg()方法,该方法可以实现对分组后数据的聚合功能。从实现上来看agg()方法类似于对DataFrame对象中列的数据进行分组,然后再调用sum()

11、或者是mean()来实现数据的计算或统计。1-1 在安装Matplotlib模块时哪种方式比较简单?Matplotlib模块的安装方式有多种,如果使用pip的安装方式,安装Matplotlib模块时,需要先进入到cmd命令行窗口当中,然后在cmd命令行窗口当中执行如下代码:python -m pip install matplotlib1-2 pyplot子模块的绘图流程是?在学习使用pyplot子模块绘图时,需要先了解使用该模块实现绘图的业务流程,根据绘图流程调用pyplot子模块中对应的方法即可实现绘制大多数常用的图表。pyplot子模块绘图流程如图4-3所示。 图4-3 pyplot子模

12、块的绘图流程1-3 简述什么是条形图?条形图又叫做直方图,是一种以长方形的长度为变量的统计图表。该图表分为水平与纵向两种,多数用于比较多个项目分类的数据大小,通过该图表可以比较直观的看出每个项目分类的分布状态。1-4 简述什么是多面板图表?多面板图表就是将多个图表显示在一个图表窗体当中。1-5 简述Matplotlib模块中哪个子模块可以实现3D绘图?Matplotlib模块不仅仅只能绘制2D图表,实际上在Matplotlib模块中还内置了一个mplot3d的子模块,通过该子模块即可实现绘制3D图表。但是,在使用 mplot3d子模块绘制3D图表时,还是需要通过pyplot 子模块中的figu

13、re()图形画布进行展示,所以pyplot 子模块还是需要导入的。第5章 答案5-1 什么是RFM模型,其中的R、F和M分别代表什么?答案:RFM模型是衡量客户价值和客户潜在价值的重要工具和手段,大部分运营人员都会接触到该模型。RFM模型是国际上最成熟、最为容易的客户价值分析方法。R:表示最近消费时间间隔RecencyF:表示消费频率FrequencyM:表示消费金额Monetary5-2 将客户分成5类,在代码中改写哪个值?答案:主要修改代码中k的值,设置k = 5第6章 答案6-1 按季度统计销售收入答案:df1.resample(Q).sum()6-2 统计2018年1月1日至2018年

14、5月1日广告费用支出情况答案:主要代码如下:bb=r.dataJDcar.xlsdf=pd.DataFrame(pd.read_excel(bb)df投放日期 = pd.to_datetime(df投放日期)df1=df投放日期,支出df1=df1.set_index(投放日期,drop=True)df2=df12018-01-01:2018-05-01# 按月度统计并显示广告费支出金额dfCar_month=df2.resample(M).sum().to_period(M)print(dfCar_month)6-3 假如7月份投入7.8万元广告费,现预测7月份的销售收入。答案:主要代码如下

15、:x0=78000y0=b+x0*kprint(y0)1-1 简述什么是scikit-learn库?scikit-learn库是机器学习领域中最知名的Python模块之一,该模块中整合了多种机器学习算法,可以帮助使用者在数据分析的过程中快速建立模型。在Python中导入该模块时需要使用sklearn简称进行模块的导入工作,sklearn模块可以实现数据的预处理、分类、回归、PCA降维、模型选择等工作。1-2 简述清洗数据的目的是什么?在实现数据分析前需要先对数据进行清洗工作,清洗数据的主要目的是为了减小数据分析的误差。清洗数据时首先需要将数据内容读取,然后观察数据中是否存在无用值、空值以及数据

16、类型是否需要进行转换等。1-1 简述Pygame模块主要应用于python开发的哪个方向?Pygame是跨平台Python模块,专为电子游戏设计。包含图像、声音。创建在SDL(Simple DirectMedia Layer)基础上,允许实时电子游戏研发而无需被低级语言,如C语言或是更低级的汇编语言束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言(如Python)提供。1-2 Pygame模块中都有哪些常用的子模块,列举五个以上即可?Pygame常用的子模块如下表所示。Pygame常用模块模块名功能pygame.cdro

17、m访问光驱pygame.cursors加载光标pygame.display访问显示设备pygame.draw绘制形状、线和点pygame.event管理事件pygame.font使用字体pygame.image加载和存储图片pygame.joystick使用游戏手柄或者类似的东西pygame.key读取键盘按键pygame.mixer声音pygame.mouse鼠标pygame.movie播放视频pygame.music播放音频pygame.overlay访问高级视频叠加pygame.rect管理矩形区域pygame.sndarray操作声音数据pygame.sprite操作移动图像pygam

18、e.surface管理图像和屏幕pygame.surfarray管理点阵图像数据pygame.time管理时间和帧信息pygame.transform缩放和移动图像第9章 案例5:影视作品分析9-1 简述jieba模块提供了哪几种分词模式,以及各模式的区别。答:jieba模块提供了三种分词模式,分别是精确模式、全模式和搜索引擎模式。下面对这三种分词模式进行详细介绍。q 精确模式采用精确模式时,会将句子进行最精确地切割,从而让结果更适合文本分析。q 全模式采用全模式时,分把文本中所有可能的词语都扫描出来,可能会有冗余。q 搜索引擎模式采用搜索引擎模式时,会在精确模式的基础上对长词再次切分。9-2

19、 如何使用jieba模块和wordcloud库生成词云图?答:使用jieba模块的cut_for_search()函数将评论的内容切割成若干个分词,然后再使用wordcloud库将其生成云图图片,保存到本地,关键代码如下:# 评论内容tomato_str = .join(tomato_comcomment)words_list = # 分词word_generator = jieba.cut_for_search(tomato_str)for word in word_generator: words_list.append(word)words_list = k for k in words

20、_list if len(k) 1back_color = imread(d + 词云背景.jpg) # 解析该图片wc = WordCloud(background_color=white, # 背景颜色 max_words=200, # 最大词数 mask=back_color,#以该参数值绘制词云,该个参数不为空时,width和height会被忽略 max_font_size=300, # 显示字体的最大值 font_path= STFANGSO.ttf, # 字体 random_state=42, # 为每个词返回一个PIL颜色 )tomato_count = collections.

21、Counter(words_list)wc.generate_from_frequencies(tomato_count)# 基于彩色图像生成相应彩色image_colors = ImageColorGenerator(back_color)# 绘制词云plt.figure()plt.imshow(wc.recolor(color_func=image_colors)# 去掉坐标轴plt.axis(off)# 保存词云图片wc.to_file(path.join(d,self.moveName + 词云.png)1-1 简述python如何进行数据库的操作?在Python3.x 的版本中连接MySQL数据库时,需要使用PyMySQL模块来实现数据库的各种操作。PyMySQL不仅符合Python数据库APIv2.0的规范,还包含了pure-Python MySQL 客户端库。如果使用Python2对MySQL数据库进行操作时,则需要使用mysqldb模块来实现。1-2 通过PyMySQL模块连接数据库时,需要注意哪几个事项?通过PyMySQL模块连接数据库时,需要先确认以下几个事项:q已经安装了MySQLq已经启动了MySQL服务器q已经创建了指定的数据库名称,例如data_demoq已经安装了PyMySQL模块q已经熟悉sql语句

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服