Python数据分析与应用_从数据获取到可视化题库及答案课后习题_答案.docx
Python数据分析与应用_从数据获取到可视化题库及答案课后习题_答案第1章一、 填空题1. 数据分析2. Anaconda3. 实时二、 判断题1. 错2. 对3. 错三、 选择题1. B2. C3. D4. C四、 简答题1. 数据分析是指,用适当的统计分析方法对收集来的大量数据进行分析,从中提取有用信息和形成结论,并加以详细研究和概括总结的过程。2. 明确目的和思路、数据收集、数据处理、数据分析、数据展现。3. (1)语法简单精炼,适合初学者入门;(2)拥有一个巨大且活跃的科学计算社区;(3)拥有强大的通用编程能力;(4)人工智能时代的通用语言;(5)方便对接其它语言。第2章一、 填空题1. ndarray2. 二维3. 位长4. 广播5. 数组或列表二、 判断题1. 错2. 对3. 对4. 对5. 错三、 选择题1. B2. D3. A4. C5. A四、 简答题1. 答案:NumPy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化运算。2. 答案:两个数组的某一维度等长,或其中一个数组为一维数组。五、 程序题1. 答案:import numpy as nparr = np.zeros(5)print(arr)2. 答案:import numpy as nparr = np.zeros(8,8),dtype=int)arr1:2,:2 = 1arr:2,1:2 = 1print(arr)第3章一、 填空题1. Numpy2. Series DataFrame3. 索引 数据4. 列表 字典5. 按置排序 按索引排序二、 判断题1. 对2. 对3. 错4. 错5. 错三、 选择题1. A2. B3. A4. A5. B四、 简答题1. Series是一个类似于一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。DataFrame是一个类似于二维数组的对象,它每列的数据可以是不同的数据类型。DataFrame的结构也是由索引和数据组成的,并且DataFrame的索引有行索引和列索引。2. 层次化索引是在单层索引的基础上进行延伸,它可以在一个轴上存在多层索引,并且能够以低纬度形式表示高维度的数据。五、 程序题(1) 答案:import numpy as npimport pandas as pddf_data = np.array(1, 5, 8, 8, 2, 2, 4, 9, 7, 4, 2, 3, 3, 0, 5, 2) # 创建数组col_data = np.array('A', 'B', 'C', 'D') # 创建数组# 基于数组创建DataFrame对象df_obj = pd.DataFrame(columns=col_data, data=df_data) df_obj(2) 答案:sort_values_data = df_obj.sort_values(by='B', ascending=False)sort_values_data(3) 答案:sort_values_data.to_csv(r'E:数据分析write_data.csv')'写入完毕'第4章一、 填空题1. 完整性 唯一性 权威性 合法性 一致性2. 人为原因 机械原因3. 列索引 行索引4. 横向堆叠 纵向堆叠 内连接 外连接5. 正态分布二、 判断题1. 对2. 错3. 对4. 错5. 错三、 选择题1. B2. A3. C4. D5. A四、 简答题1. 在数据预处理的过程中会根据数据的实际情况选择合适处理方法,常用的预处理操作有数据清洗、数据合并、数据重塑、数据转换等,在这几种操作中又分别含有不同的数据处理方法,例如在数据清洗过程中含有空值和缺失的检测、重复值的处理、异常值的处理等。2. 在Pandas中常用的数据合并操作有:concat()函数表示沿着一条轴将多个对象进行堆叠、merge()函数表示根据一个或多个键将不同的对象进行合并、join()方法表示根据索引或指定的列来合并数据、combine_first()方法表示填充合并数据。五、 程序题(1) 答案:import pandas as pdimport numpy as npgroup_a = pd.DataFrame('A': 2,3,5,2,3, 'B': '5',np.nan,'2','3','6', 'C': 8,7,50,8,2, 'key': 3,4,5,2,5)group_b = pd.DataFrame('A': 3,3,3, 'B': 4,4,4, 'C': 5,5,5)print(group_a)print(group_b)(2) 答案:group_a = group_bine_first(group_b)group_a(3) 答案:group_a.rename(columns='key':'D')第5章一、 填空题1. 拆分 应用 合并2. 列表或数组 DataFrame对象某列的名称 字典或Series对象 函数3. 广播4. DataFrameGroupBy二、 判断题1. 对2. 错3. 错4. 对5. 对三、 选择题1. A2. A3. B4. C5. D四、 简答题1. 分组聚合的流程一般为拆分、应用、合并。拆分是将数据集按照一定规则分成若干组;应用是对这些分组的数据进行一系列操作的过程;合并是将这些执行操作后的结果进行整合。2. 常用的分组方式主要有4种,分别为:列表或数组,列表或数组的长度需要与带分组轴的长度一致、DataFrame中某列的名称、字典或Series对象、函数。五、 程序题(1) 答案:import pandas as pdstudnets_data = pd.DataFrame('年级':'大一','大二','大三', '大四','大二','大三', '大一','大三','大四', '姓名':'李宏卓','李思真','张振海', '赵鸿飞','白蓉','马腾飞', '张晓凡','金紫萱','金烨', '年龄':18,19,20,21, 19,20,18,20,21, '身高':175,165,178,175, 160,180,167,170,185, '体重':65,60,70,76,55, 70,52,53,73)data = studnets_data.groupby('年级')Freshman = dict(x for x in data)'大一'print(Freshman)(2) 答案:data = data.apply(max)del data'年级'print(data)(3) 答案:Junior = dict(x for x in data)'大三'print(Freshman'体重'.apply('mean')print(Junior'体重'.apply('mean')第6章一、 填空题1. 浏览器2. 直方图 饼图 折线图3. pyplot4. 数据的类型 分布情况5. bar二、 判断题1. 对2. 对3. 错4. 错5. 对三、 选择题1. A2. D3. D4. B5. D四、 程序题(1) 答案:import pandas as pdstock_data = pd.DataFrame('证券代码':'000609','000993','002615', '000795','002766','000971', '000633','300173','300279','000831', '证券简称':'中迪投资','闽东电力','哈尔斯', '英洛华','索菱股份','高升控股', '合金投资','智慧松德','和晶科技','五矿稀土', '最新价':4.80,4.80,5.02,3.93,6.78, 3.72,4.60,4.60,5.81,9.87, '涨幅跌%':10.09,10.09,10.09,10.08, 10.06,10.06,10.06,10.05,10.05,10.04)print(stock_data)(2) 答案:import matplotlib.pyplot as plt%matplotlib inlineplt.rcParams'font.sans-serif'='SimHei' # 正常显示中文标签plt.rcParams'axes.unicode_minus'=False # 正常显示负号x_axis = stock_data'证券简称'y_axis = stock_data'最新价'plt.bar(x_axis, y_axis)# 先进行保存,如果在show()函数后面使用,会出现保存的图片是空白图片plt.savefig(r"C:UsersadminDesktopshares_bar.png")plt.show()第7章一、 填空题1. 时间序列2. 预测3. 基础频率4. 重采样5. Period二、 判断题1. 对2. 对3. 错4. 对5. 错三、 选择题1. A2. D3. D4. B5. C四、 简答题1. 答案:(1) 时间戳(Timestamp),表示特定的时刻,比如现在。(2) 固定周期(period),比如2018年或者2018年10月。(3) 时间间隔(interval),由起始时间戳和结束时间戳表示。2. 答案如果是将高频率数据聚合到低频率,则称为降采样;如果是将低频率数据转换到高频率数据,则称为升采样。五、 程序分析题1. 答案:运行产生ValueError异常,主要是因为date_range()函数中必须传入start、end、periods、freq中至少三个参数,而代码中只传入了start和freq参数。2. 答案:运行结果为53. 答案:运行出现异常,因为日期字符串的格式不能够被正确解析第8章一、 填空题1. 基于情感词典 基于机器学习2. 余弦相似度3. 无关 相关4. 有监督5. 数据集准备 特征抽取 模型训练 分类结果评价二、 判断题1. 错2. 对3. 错4. 对5. 错三、 选择题1. A2. D3. D4. A5. B四、 简答题1. 答案:文本分析是指对文本的表示及其特征项的选取,通过一定的方法将文本中无用的信息删除,留下有用的信息,通过对这些有用的信息进行挖掘,最后根据结果分析文本得意图和目的。2. 答案:常用的文本情感分析方法有两种分别是基于情感词典和基于机器学习。使用情感词典的方法主要是通过制定一系列的情感词典和规则,对文本进行段落拆解、句法分析、情感值计算,而机器学习方法是将问题进行归纳分类,根据分类对文本进行不同的标注。3. 答案:文本相似度的检测一般分为如下步骤:1、通过特征提取的模型或手动实现,找出这两篇文章的关键词。2、从每篇文章中各取出若干个关键词,把这些关键词合并成一个集合,然后计算每篇文章中各个词对于这个集合中的关键词的词频。3、生成两篇文章中各自的词频向量。4、计算两个向量的余弦相似度,值越大则表示越相似。原创文档 盗版必究