Python数据分析与应用 | 您所在的位置:网站首页 › python文件与异常答案 › Python数据分析与应用 |
第1章习题
填空题
的目的在于将隐藏在一大批看似杂乱无章的数据信息集中提炼出来有用的数据。 中包含了conda、Python在内的超过180个科学包及其依赖项。Jupyter Notebook是一个支持 代码、数学方程、可视化和Markdown的Web应用程序。
判断题
数据分析是一个有目的地收集和整合数据的过程。( )Python是一门胶水语言,可以轻松地操作其它语言编写的库。( )如果要卸载指定环境中的包,则直接使用remove命令移除即可。( )
选择题
下列选项中,用于搭接数据仓库和保证数据质量的是( )。
数据收集数据处理数据分析数据展现
关于Anaconda的说法中,下列描述错误的是( )。
Anaconda是一个可以对包和环境进行统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项Anaconda是完全开源的、付费的Anaconda避免了单独安装包时需要配置或兼容等各种问题
关于Anaconda的组件中,可以编辑文档且展示数据分析过程的是( )。
Anaconda NavigatorAnaconda PromptSpyderJupyter Notebook
下面列出的数据分析库中,用于绘制数组的2D图形的是( )。
NumPyPandasMatplotlibNLTK
简答题
什么是数据分析?请简述数据分析的基本过程。Python做数据分析有哪些优势?
第2章习题
填空题
在NumPy中,可以使用数组对象________执行一些科学计算。如果ndarray.ndim执行的结果为2,则表示创建的是_____维数组。NumPy的数据类型是由一个类型名和元素________的数字组成。如果两个数组的大小(ndarray.shape)不同,则它们进行算术运算时会出现________机制。花式索引是NumPy的一个术语,是指用整数________进行索引。
判断题
通过empty()函数创建的数组,该数组中没有任何的元素。( )如果没有明确地指明数组中元素的类型,则默认为float64。( )数组之间的任何算术运算都会将运算应用到元素级。( )多维数组操作索引时,可以将切片与整数索引混合使用。( )当通过布尔数组索引操作数组时,返回的数据是布尔数组中False对应位置的值。( )
选择题
下列选项中,用来表示数组维度的属性是( )。
ndimshapesizedtype
下面代码中,创建的是一个3行3列数组的是( )。
arr = np.array([1, 2, 3])arr = np.array([[1, 2, 3], [4, 5, 6]])arr = np.array([[1, 2], [3, 4]])np.ones((3, 3))
请阅读下面一段程序:
arr_2d = np.array([[11, 20, 13],[14, 25, 16],[27, 18, 9]]) print(arr_2d[1, :1]) 执行上述程序后,最终输出的结果为( )。 [14][25][14, 25][20, 25] 请阅读下面一段程序:arr = np.arange(6).reshape(1, 2, 3) print(arr.transpose(2, 0, 1)) 执行上述程序后,最终输出的结果为( )。 [[[2 5]] [[0 3]] [[1 4]]] [[[1 4]] [[0 3]] [[2 5]]] [[[0 3]] [[1 4]] [[2 5]]] [[[0] [3]] [[1] [4]] [[2] [5]]] 下列函数或方法中,用来表示矢量化三元表达式的是( )。 where()cumsum()sort()unique() 简答题 什么是矢量化运算?实现数组广播机制需要满足哪些条件? 程序题 创建一个数组,数组的shape为(5,0),元素都是0。创建一个表示国际象棋棋盘的8*8数组,其中,棋盘白格用0填充,棋盘黑格用1填充。 第3章习题 填空题 Pandas是一个基于 的Python库。Pandas中有两个主要的数据结构分别为 和 。Series结构由 和 组成。可以使用 和 创建一个Series对象。数据排序可以分为 和 。 判断题 在DataFrame中每列的数据都可以看做是一个Series对象。( )使用describe()方法会输出多个统计指标。( )from_arrays()方法是将元组列表转换为MultiIndex对象。( )read_csv()函数和read_table()函数没有区别可以随意替换使用。( )Series对象不存在层次化索引。( ) 选择题 下列选项中,描述不正确的是( )。 Pandas中只有Series和DataFrame这两种数据结构Series是一维的数据结构DataFrame是二维的数据结构Series和DataFrame都可以重置索引 下列选项中,描述正确是( )。 Series是一维数据结构,其索引在右,数据在左DataFrame是二维数据结构,并且该结构具有行索引和列索引Series结构中的数据不可以进行算术运算sort_values()方法可以将Series或DataFrame中的数据按照索引排序 下列方法中,可以将元组转换为MultiIndex对象的是( )。 from_tuples()from_arrays()from_product()from_list() 下列选项中,哪个方法可以一次性输出多个统计指标( )。 describe()mean()median()sum() 请阅读下面一段程序:import pandas as pd ser_obj = pd.Series(range(1, 6), index=[5, 3, 0, 4, 2]) ser_obj.sort_index() 执行上述程序后,最终输出的结果为( )。 5 1 3 2 0 3 4 4 2 5 0 3 2 5 3 2 4 4 5 1 5 1 4 4 3 2 2 5 0 3 2 5 4 4 0 3 3 2 5 1 简答题 简述Series和DataFrame的特点。简述什么是层次化索引。 程序题 现有如下图所示的数据,请对该数据进行以下操作: 使用DataFrame创建该数据。将图中的B列数据进行按降序排序。将排序后的数据写入到csv文件,并命名为write_data.csv。 第4章习题 填空题 数据清洗的目的是让数据具有 、 、 、 、 、等特点。产生缺失值或空值的原因有 和 。stack()方法可以将 转换为 。 concat()函数的堆叠方式有 和 ,连接方式有 和 。拉依达原则在检测异常值时必须保证数据遵守 。 判断题 rename()方法可以重命名索引名。( )drop_duplicated()方法可以删除重复值。( )在箱形图中超出上界和下界的值称为异常值。( )当一个具有多层次索引的DataFrame对象经过stack()后,会返回一个Series对象。( )在使用merge()函数进行合并时,不需要指定合并键。( ) 选择题 下列选项中,描述不正确的是。( ) 数据清洗的目的是为了提高数据质量异常值一定要删除可使用drop_duplicates()方法删除重复数据concat()函数可以沿着一条轴将多个对象进行堆叠 请阅读下面一段程序:from pandas import Series import pandas as pd from numpy import NaN series_obj = Series([None, 4, NaN]) pd.isnull(series_obj) 执行上述程序后,最终输出的结果为( )。 0 True 1 False 2 True 0 True 1 True 2 False 0 False 1 True 2 True 0 True 1 True 2 True 下列选项中,可以删除缺失值或空值的是。( ) isnull()notnull()dropna()fillna() 下列选项中,描述不正确是。( ) concat()函数可以沿着一条轴将多个对象进行堆叠merge()函数可以根据一个或多个键将不同的DataFrame进行合并可以使用rename()方法对索引进行重命名操作unstack()方法可以将列索引旋转为行索引 请阅读下面一段程序:import numpy as np import pandas as pd ser_obj = pd.Series([4, np.nan, 6, 5, -3, 2]) ser_obj.sort_values() 执行上述程序后,最终输出的结果为( )。 4 -3.0 5 2.0 0 4.0 3 5.0 2 6.0 1 NaN 1 NaN 2 6.0 3 5.0 0 4.0 5 2.0 4 -3.0 5 2.0 0 4.0 3 5.0 2 6.0 4 -3.0 1 NaN 0 4.0 1 NaN 2 6.0 3 5.0 4 -3.0 5 2.0 简答题 请简述数据预处理的常用操作。常用的数据合并操作有哪些? 程序题 现有如下图所示的两组数据,其中 A组中B列数据存在缺失值,并且该列数据为int类型,B组中的数据均为str类型。接下来,请对这些数据进行以下操作: 使用DataFrame创建这两组数据。现在需要使用B组中的数据对A组中的缺失值进行填充并保持数据类型一致。将合并后A组中索引名为key的索引重命名为D。 第5章习题 填空题 分组聚合的流程分为 、 、 。分组键的形式可以有 、 、 、 。transform()方法会对产生的标量值进行 操作。当对一个DataFrame对象进行分组后会返回一个 对象。 判断题 分组聚合的原理一般分为拆分-应用-合并。( )只要使用groupby()方法分组就会产生一个DataFrameGroupby对象。( )使用agg()方法进行聚合运算会对产生的标量值进行广播。( )使用transform()方法进行聚合运算,其结果可以保持与原数据形状相同。( )apply()方法可以使用广播功能。( ) 选择题 下列选项中,关于groupby()方法说法不正确的是。( ) 分组键可以是列表或数组,但长度不需要与待分组轴的长度相同可以通过DataFrame中的列名的值进行分组可以使用函数进行分组可使用series或字典分组 下列选项中,关于agg()方法使用不正确是。( ) agg()方法中func参数只能传入一个函数agg()方法中func参数可以传入多个函数agg()方法中func参数可以传入自定义函数agg()方法不能对产生的标量值进行广播 下列选项中,关于transform()方法说法正确的是。( ) 不会与原数据保持相同形状会对产生的标量值进行广播操作func参数只能传入内置函数func参数可以传入多个内置函数 下列选项中,关于apply()说法不正确的是。( ) 可以使用自定义函数可以接收多个函数可以使用广播功能返回的结果一定与原数据的形状相同 请阅读下面一段程序:import pandas as pd (pd.DataFrame([[2, 3],] * 3, columns=['A', 'B'])).apply(lambda x: x + 1) 执行上述程序后,最终输出的结果为( )。 A B 0 3 2 1 3 2 2 3 2 A B 0 2 3 1 2 3 2 2 3 A B 0 3 4 1 3 4 2 3 4 A B 0 4 3 1 4 3 2 4 3 简答题 请简述分组聚合的流程。请简述常用的分组方式。 程序题 现有如下图所示的学生信息,请根据图中的信息完成以下操作: 根据年级信息为分组键,对学生信息进行分组,并输出大一学生信息。分别计算出四个年级中身高最高的同学。计算大一学生与大三学生的平均体重。 第6章习题 填空题 bokeh是针对 使用的交互式可视化库。数据可视化常见的统计图表有 、 、 。(写出3个即可)在使用Matplotlib绘制图表时,需要导入 模块。在直方图中一般使用横轴表示 ,用纵轴表示 。在使用Matplotlib绘制柱状图时可以使用pyplot模块中的 函数。 判断题 seaborn是基于Matplotlib核心库。( )Figure对象可以划分多个绘图区域,每个绘图区域都是一个Axes对象。( )绘制图表时,可以使用subplot()函数创建多个子图。( )Matplotlib默认支持中文显示。( )Matplotlib生成的图表可以保存在本地。( ) 选择题 下列选项中,关于Matplotlib库说法不正确是。( ) Matplotlib是一个Python 3D绘图库可输出PNG、PDF等格式渐进、交互的方式实现数据可视化使用简单 下列选项中,不属于Seaborn库的特点是。( ) Seaborn是基于Matplotlib的可视化库基于网格绘制出更加复杂的图像集合多个内置主题及颜色主题可以处理大量的数据流 下列选项中,关于boken库说法不正确的是。( ) boken是一个专门针对Web浏览器使用的交互式可视化库Plotting接口用于构建各种组装图形元素Models接口可以为开发者提供最大的灵活性Charts库可直接使用,不需要单独安装 下列函数中,可以绘制散点图的函数是。( ) hist()scatter()bar()pie() 下列选项中,描述不正确的是。( ) 箱形图可以提供有关数据分散情况的信息,可以很直观地查看数据的四分位分布折线图是用直线段将数据连接起来而组成的图形,以折线的方式显式数据的变化饼图显示一个数据序列中的各项的大小与各项总和的比例条形图是由一系列高度不等的纵向条纹或线段表示数据分布情况 程序题 现有如图6-40所示的股票数据,根据图中的数据,完成以下需求: 股票数据 使用DataFrame创建该股票数据。以证券简称为x轴,最新价为y轴使用条形图展示,将生成的条形图图以shares_bar.png为文件名保存在桌面上。 第7章习题 填空题 ________是指多个时间点上形成的数值序列。ARIMA模型是一种用于时间序列________的常见统计模型。Pandas中的频率是由一个________和一个乘数组成的,比如7D。________是指将时间序列从一个频率转换到另一个频率的处理过程。在Pandas中,使用________类表示一个标准的时间段或时期。 判断题 最基本的时间序列类型是以时间戳为索引的Series对象。( )如果相同频率的两个Period对象进行数学运算,那么计算结果为它们的单位数量。( )任何类型的Pandas对象都可以进行重采样。( )DatetimeIndex是一种用来指代一系列时间戳的索引结构。( )降采样时可能会导致一些时间戳没有对应的数据。() 选择题 下列选项中,不可以用做Pandas对象索引的是( )。 PeriodDatetimeIndexPeriodIndexMultiIndex 请阅读下面一段程序:import pandas as pd period1 = pd.Period('2015/6/1') print(period1 + 50) 执行上述程序,最终输出的结果为( )。 2015-07-182015-07-192015-07-202015-07-21 请阅读下面一段程序:import pandas as pd import numpy as np date_index = pd.date_range(start="2018/08/10", periods=5) date_se = pd.Series(np.arange(5), index=date_index) sorted_se = date_se.sort_index() print(sorted_se.truncate(after='2018-8-11')) 执行上述程序,最终输出的结果为( )。 2018-08-12 2 2018-08-13 3 2018-08-12 2 2018-08-13 3 2018-08-14 4 2018-08-10 0 2018-08-11 1 2018-08-12 2 2018-08-10 0 2018-08-11 1 下列函数中,用于创建固定频率DatetimeIndex对象的是( )。 shift()date_range()period_range()asfreq() 关于重采样的说法中,下列描述错误的是( )。 重采样是将时间序列从一个频率转到另一个频率升采样的时间颗粒是变小的时间序列数据在降采样时,总体的数据量是增加的时间序列数据在降采样时,总体的数据量是减少的 简答题 时间序列的数据有哪几种?什么是降采样?什么是升采样? 程序分析题阅读下面的程序,分析代码是否能够编译通过。如果能编译成功,请列出运行的结果,否则请说明编译失败的原因。 代码一:import pandas as pd date_index = pd.date_range('2018/08/10') ser_obj = pd.Series(11, date_index) print(ser_obj) 代码二:import pandas as pd period1 = pd.Period('2017/1') period2 = pd.Period('2017/6') print(period2-period1) 代码三:date_index = pd.date_range('2018/09/10', '2018/09/13') ser_obj = pd.Series(11, date_index) ser_obj['2018\09\12'] 第8章习题 填空题 常见的情感极性分析方法主要有 和 方法。文本相似度的检测是根据 公式进行检测。 余弦相似度与向量的幅值 ,与向量的方向 。 文本分类属于 的机器学习。文本分类的步骤包括 、 、 、 。 判断题 导入的文本数据不需要任何处理就可以进行分析。( )文本分词的目的在于使用单词来表示文本特征。( )可以在停用词表中随意添加停用词。( )词干提取和词性还原的目的是相同的。( )jieba分词只能用于中文分词。( ) 选择题 下列选项中,关于nltk库的描述不正确的是( )。 nltk擅长处理英文文本nltk包括分词、词性标注、命名实体识别及句法分析等nltk是一个免费的、开源的、社区驱动的项目nltk库只能处理英文文本 根据中文的特点以下不属于分词算法的是( )。 基于规则的分词方法基于统计的分词方法基于理解的分词方法基于动态的分词方法 下列选项中,不属于jieba分词模式( )。 支持精确模式支持全模式支持搜索引擎模式支持繁体分词模式 阅读下面一段程序:from nltk.corpus import stopwords import nltk sentence = 'Life is short,you need Python.' words = nltk.word_tokenize(sentence) stop_words = stopwords.words('english') remain_words = [] for word in words: if word not in stop_words: remain_words.append(word) print(remain_words) 执行上述程序,最终输出的结果为( )。 ['Life', 'short', ',', 'need', 'Python', '.']['Life', 'short', 'need', 'Python',]['Life', 'is', 'short', ',', 'need', 'Python', '.']['Life', 'short', ',', 'you' ,'need', 'Python', '.'] 阅读下面一段程序:import jieba sentence = '人生苦短,我用Pyhton' terms_list = jieba.cut(sentence, cut_all=True) print(' '.join(terms_list)) 执行上述程序,最终输出的结果为( )。 人生 苦短 我用 Pyhton人生 苦短 我 用 Pyhton人生苦短 我 用 Pyhton人 生 苦 短 我 用 Pyhton 简答题 什么是文本分析?请简述常用的文本情感分析方法。请简述检测文本相似度的流程。 第1章 填空题 数据分析Anaconda实时 判断题 错对错 选择题 BCDC 简答题 数据分析是指,用适当的统计分析方法对收集来的大量数据进行分析,从中提取有用信息和形成结论,并加以详细研究和概括总结的过程。明确目的和思路、数据收集、数据处理、数据分析、数据展现。(1)语法简单精炼,适合初学者入门;(2)拥有一个巨大且活跃的科学计算社区;(3)拥有强大的通用编程能力;(4)人工智能时代的通用语言;(5)方便对接其它语言。 第2章 填空题 ndarray二维位长广播数组或列表 判断题 错对对对错 选择题 BDACA 简答题 答案:NumPy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化运算。 答案:两个数组的某一维度等长,或其中一个数组为一维数组。 程序题 答案:import numpy as np arr = np.zeros(5) print(arr) 答案:import numpy as np arr = np.zeros((8,8),dtype=int) arr[1::2,::2] = 1 arr[::2,1::2] = 1 print(arr) 第3章 填空题 NumpySeries DataFrame索引 数据列表 字典按置排序 按索引排序 判断题 对对错错错 选择题 ABAAB 简答题 Series是一个类似于一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。DataFrame是一个类似于二维数组的对象,它每列的数据可以是不同的数据类型。DataFrame的结构也是由索引和数据组成的,并且DataFrame的索引有行索引和列索引。 层次化索引是在单层索引的基础上进行延伸,它可以在一个轴上存在多层索引,并且能够以低纬度形式表示高维度的数据。 程序题 答案:import numpy as np import pandas as pd df_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 答案:sort_values_data = df_obj.sort_values(by=['B'], ascending=False) sort_values_data 答案:sort_values_data.to_csv(r'E:\数据分析\write_data.csv') '写入完毕' 第4章 填空题 完整性 唯一性 权威性 合法性 一致性人为原因 机械原因列索引 行索引横向堆叠 纵向堆叠 内连接 外连接正态分布 判断题 对错对错错 选择题 BACDA 简答题 在数据预处理的过程中会根据数据的实际情况选择合适处理方法,常用的预处理操作有数据清洗、数据合并、数据重塑、数据转换等,在这几种操作中又分别含有不同的数据处理方法,例如在数据清洗过程中含有空值和缺失的检测、重复值的处理、异常值的处理等。在Pandas中常用的数据合并操作有:concat()函数表示沿着一条轴将多个对象进行堆叠、merge()函数表示根据一个或多个键将不同的对象进行合并、join()方法表示根据索引或指定的列来合并数据、combine_first()方法表示填充合并数据。 程序题 答案:import pandas as pd import numpy as np group_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) 答案:group_a = group_a.combine_first(group_b) group_a 答案:group_a.rename(columns={'key':'D'}) 第5章 填空题 拆分 应用 合并列表或数组 DataFrame对象某列的名称 字典或Series对象 函数广播DataFrameGroupBy 判断题 对错错对对 选择题 AABCD 简答题 分组聚合的流程一般为拆分、应用、合并。拆分是将数据集按照一定规则分成若干组;应用是对这些分组的数据进行一系列操作的过程;合并是将这些执行操作后的结果进行整合。常用的分组方式主要有4种,分别为:列表或数组,列表或数组的长度需要与带分组轴的长度一致、DataFrame中某列的名称、字典或Series对象、函数。 程序题 答案:import pandas as pd studnets_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) 答案:data = data.apply(max) del data['年级'] print(data) 答案:Junior = dict([x for x in data])['大三'] print(Freshman['体重'].apply('mean')) print(Junior['体重'].apply('mean')) 第6章 填空题 浏览器直方图 饼图 折线图pyplot数据的类型 分布情况bar 判断题 对对错错对 选择题 ADDBD 程序题 答案:import pandas as pd stock_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) 答案:import matplotlib.pyplot as plt %matplotlib inline plt.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:\Users\admin\Desktop\shares_bar.png") plt.show() 第7章 填空题 时间序列预测基础频率重采样Period 判断题 对对错对错 选择题 ADDBC 简答题 答案: 时间戳(Timestamp),表示特定的时刻,比如现在。固定周期(period),比如2018年或者2018年10月。时间间隔(interval),由起始时间戳和结束时间戳表示。 答案如果是将高频率数据聚合到低频率,则称为降采样;如果是将低频率数据转换到高频率数据,则称为升采样。 程序分析题 答案:运行产生ValueError异常,主要是因为date_range()函数中必须传入start、end、periods、freq中至少三个参数,而代码中只传入了start和freq参数。答案:运行结果为5答案:运行出现异常,因为日期字符串的格式不能够被正确解析 第8章 填空题 基于情感词典 基于机器学习余弦相似度无关 相关有监督数据集准备 特征抽取 模型训练 分类结果评价 判断题 错对错对错 选择题 ADDAB 简答题 答案:文本分析是指对文本的表示及其特征项的选取,通过一定的方法将文本中无用的信息删除,留下有用的信息,通过对这些有用的信息进行挖掘,最后根据结果分析文本得意图和目的。 答案:常用的文本情感分析方法有两种分别是基于情感词典和基于机器学习。使用情感词典的方法主要是通过制定一系列的情感词典和规则,对文本进行段落拆解、句法分析、情感值计算,而机器学习方法是将问题进行归纳分类,根据分类对文本进行不同的标注。 答案:文本相似度的检测一般分为如下步骤:1、通过特征提取的模型或手动实现,找出这两篇文章的关键词。2、从每篇文章中各取出若干个关键词,把这些关键词合并成一个集合,然后计算每篇文章中各个词对于这个集合中的关键词的词频。3、生成两篇文章中各自的词频向量。4、计算两个向量的余弦相似度,值越大则表示越相似。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |