您的当前位置:首页第1章 数据分析概述后习题

第1章 数据分析概述后习题

2021-01-06 来源:爱问旅游网


第1章习题

一、 填空题

1. 的目的在于将隐藏在一大批看似杂乱无章的数据信息集中提炼出来有用的数据。

2. 中包含了conda、Python在内的超过180个科学包及其依赖项。

3. Jupyter Notebook是一个支持 代码、数学方程、可视化和Markdown的Web应用程序。

二、 判断题

1. 数据分析是一个有目的地收集和整合数据的过程。( )

2. Python是一门胶水语言,可以轻松地操作其它语言编写的库。( )

3. 如果要卸载指定环境中的包,则直接使用remove命令移除即可。( )

三、 选择题

1. 下列选项中,用于搭接数据仓库和保证数据质量的是( )。

A. 数据收集

B. 数据处理

C. 数据分析

D. 数据展现

2. 关于Anaconda的说法中,下列描述错误的是( )。

A. Anaconda是一个可以对包和环境进行统一管理的发行版本。

B. Anaconda包含了conda、Python在内的超过180个科学包及其依赖项

C. Anaconda是完全开源的、付费的

D. Anaconda避免了单独安装包时需要配置或兼容等各种问题

3. 关于Anaconda的组件中,可以编辑文档且展示数据分析过程的是( )。

A. Anaconda Navigator

B. Anaconda Prompt

C. Spyder

D. Jupyter Notebook

4. 下面列出的数据分析库中,用于绘制数组的2D图形的是( )。

A. NumPy

B. Pandas

C. Matplotlib

D. NLTK

四、 简答题

1. 什么是数据分析?

2. 请简述数据分析的基本过程。

3. Python做数据分析有哪些优势?

第2章习题

一、 填空题

1. 在NumPy中,可以使用数组对象________执行一些科学计算。

2. 如果ndarray.ndim执行的结果为2,则表示创建的是_____维数组。

3. NumPy的数据类型是由一个类型名和元素________的数字组成。

4. 如果两个数组的大小(ndarray.shape)不同,则它们进行算术运算时会出现________机制。

5. 花式索引是NumPy的一个术语,是指用整数________进行索引。

二、 判断题

1. 通过empty()函数创建的数组,该数组中没有任何的元素。( )

2. 如果没有明确地指明数组中元素的类型,则默认为float64。( )

3. 数组之间的任何算术运算都会将运算应用到元素级。( )

4. 多维数组操作索引时,可以将切片与整数索引混合使用。( )

5. 当通过布尔数组索引操作数组时,返回的数据是布尔数组中False对应位置的值。( )

三、 选择题

1. 下列选项中,用来表示数组维度的属性是( )。

A. ndim

B. shape

C. size

D. dtype

2. 下面代码中,创建的是一个3行3列数组的是( )。

1. arr = np.array([1, 2, 3])

2. arr = np.array([[1, 2, 3], [4, 5, 6]])

3. arr = np.array([[1, 2], [3, 4]])

4. np.ones((3, 3))

3. 请阅读下面一段程序:

arr_2d = np.array([[11, 20, 13],[14, 25, 16],[27, 18, 9]])

print(arr_2d[1, :1])

执行上述程序后,最终输出的结果为( )。

A. [14]

B. [25]

C. [14, 25]

D. [20, 25]

4. 请阅读下面一段程序:

arr = np.arange(6).reshape(1, 2, 3)

print(arr.transpose(2, 0, 1))

执行上述程序后,最终输出的结果为( )。

A. [[[2 5]]

[[0 3]]

[[1 4]]]

B. [[[1 4]]

[[0 3]]

[[2 5]]]

C. [[[0 3]]

[[1 4]]

[[2 5]]]

D. [[[0]

[3]]

[[1]

[4]]

[[2]

[5]]]

5. 下列函数或方法中,用来表示矢量化三元表达式的是(A. where()

B. cumsum()

C. sort()

。 )

D. unique()

四、 简答题

1. 什么是矢量化运算?

2. 实现数组广播机制需要满足哪些条件?

五、 程序题

1. 创建一个数组,数组的shape为(5,0),元素都是0。

2. 创建一个表示国际象棋棋盘的8*8数组,其中,棋盘白格用0填充,棋盘黑格用1填充。

第3章习题

一、 填空题

1. Pandas是一个基于 的Python库。

2. Pandas中有两个主要的数据结构分别为 和 。

3. Series结构由 和 组成。

4. 可以使用 和 创建一个Series对象。

5. 数据排序可以分为 和 。

二、 判断题

1. 在DataFrame中每列的数据都可以看做是一个Series对象。( )

2. 使用describe()方法会输出多个统计指标。( )

3. from_arrays()方法是将元组列表转换为MultiIndex对象。( )

4. read_csv()函数和read_table()函数没有区别可以随意替换使用。(5. Series对象不存在层次化索引。( )

三、 选择题

1. 下列选项中,描述不正确的是( )。

A. Pandas中只有Series和DataFrame这两种数据结构

B. Series是一维的数据结构

C. DataFrame是二维的数据结构

D. Series和DataFrame都可以重置索引

2. 下列选项中,描述正确是( )。

A. Series是一维数据结构,其索引在右,数据在左

B. DataFrame是二维数据结构,并且该结构具有行索引和列索引

C. Series结构中的数据不可以进行算术运算

D. sort_values()方法可以将Series或DataFrame中的数据按照索引排序

3. 下列方法中,可以将元组转换为MultiIndex对象的是( )。

A. from_tuples()

B. from_arrays()

C. from_product()

D. from_list()

4. 下列选项中,哪个方法可以一次性输出多个统计指标( )。

A. describe()

B. mean()

C. median()

D. sum()

5. 请阅读下面一段程序:

import pandas as pd

ser_obj = pd.Series(range(1, 6), index=[5, 3, 0, 4, 2])

ser_obj.sort_index()

执行上述程序后,最终输出的结果为( )。

A. 5 1

3 2

0 3

4 4

2 5

B. 0 3

2 5

3 2

4 4

5 1

C. 5 1

4 4

3 2

2 5

0 3

D. 2 5

4 4

0 3

3 2

5 1

四、 简答题

1. 简述Series和DataFrame的特点。

2. 简述什么是层次化索引。

五、 程序题

1. 现有如下图所示的数据,请对该数据进行以下操作:

(1) 使用DataFrame创建该数据。

(2) 将图中的B列数据进行按降序排序。

(3) 将排序后的数据写入到csv文件,并命名为write_data.csv。

第4章习题

一、 填空题

1. 数据清洗的目的是让数据具有 、 、 、 、 、

等特点。

2. 产生缺失值或空值的原因有 和 。

3. stack()方法可以将 转换为 。

4. concat()函数的堆叠方式有 和 ,连接方式有 和 。

5. 拉依达原则在检测异常值时必须保证数据遵守 。

二、 判断题

1. rename()方法可以重命名索引名。( )

2. drop_duplicated()方法可以删除重复值。( )

3. 在箱形图中超出上界和下界的值称为异常值。( )

4. 当一个具有多层次索引的DataFrame对象经过stack()后,会返回一个Series对象。

( )

5. 在使用merge()函数进行合并时,不需要指定合并键。( )

三、 选择题

1. 下列选项中,描述不正确的是。( )

A. 数据清洗的目的是为了提高数据质量

B. 异常值一定要删除

C. 可使用drop_duplicates()方法删除重复数据

D. concat()函数可以沿着一条轴将多个对象进行堆叠

2. 请阅读下面一段程序:

from pandas import Series

import pandas as pd

from numpy import NaN

series_obj = Series([None, 4, NaN])

pd.isnull(series_obj)

执行上述程序后,最终输出的结果为( )。

A. 0 True

1 False

2 True

B. 0 True

1 True

2 False

C. 0 False

1 True

2 True

D. 0 True

1 True

2 True

3. 下列选项中,可以删除缺失值或空值的是。(A. isnull()

B. notnull()

C. dropna()

D. fillna()

4. 下列选项中,描述不正确是。( )

A. concat()函数可以沿着一条轴将多个对象进行堆叠

B. merge()函数可以根据一个或多个键将不同的DataFrame进行合并

C. 可以使用rename()方法对索引进行重命名操作

D. unstack()方法可以将列索引旋转为行索引

5. 请阅读下面一段程序:

import numpy as np

import pandas as pd

ser_obj = pd.Series([4, np.nan, 6, 5, -3, 2])

ser_obj.sort_values()

执行上述程序后,最终输出的结果为( )。

A. 4 -3.0

5 2.0

0 4.0

3 5.0

2 6.0

1 NaN

B. 1 NaN

2 6.0

3 5.0

0 4.0

5 2.0

4 -3.0

C. 5 2.0

0 4.0

3 5.0

2 6.0

4 -3.0

1 NaN

D. 0 4.0

1 NaN

2 6.0

3 5.0

4 -3.0

5 2.0

四、 简答题

1. 请简述数据预处理的常用操作。

2. 常用的数据合并操作有哪些?

五、 程序题

1. 现有如下图所示的两组数据,其中 A组中B列数据存在缺失值,并且该列数据为int类型,B组中的数据均为str类型。接下来,请对这些数据进行以下操作:

(1) 使用DataFrame创建这两组数据。

(2) 现在需要使用B组中的数据对A组中的缺失值进行填充并保持数据类型一致。

(3) 将合并后A组中索引名为key的索引重命名为D。

第5章习题

一、 填空题

1. 分组聚合的流程分为 、 、 。

2. 分组键的形式可以有 、 、 、 。

3. transform()方法会对产生的标量值进行 操作。

4. 当对一个DataFrame对象进行分组后会返回一个 对象。

二、 判断题

1. 分组聚合的原理一般分为拆分-应用-合并。( )

2. 只要使用groupby()方法分组就会产生一个DataFrameGroupby对象。( )

3. 使用agg()方法进行聚合运算会对产生的标量值进行广播。( )

4. 使用transform()方法进行聚合运算,其结果可以保持与原数据形状相同。( )

5. apply()方法可以使用广播功能。( )

三、 选择题

1. 下列选项中,关于groupby()方法说法不正确的是。( )

A. 分组键可以是列表或数组,但长度不需要与待分组轴的长度相同

B. 可以通过DataFrame中的列名的值进行分组

C. 可以使用函数进行分组

D. 可使用series或字典分组

2. 下列选项中,关于agg()方法使用不正确是。( )

A. agg()方法中func参数只能传入一个函数

B. agg()方法中func参数可以传入多个函数

C. agg()方法中func参数可以传入自定义函数

D. agg()方法不能对产生的标量值进行广播

3. 下列选项中,关于transform()方法说法正确的是。(A. 不会与原数据保持相同形状

B. 会对产生的标量值进行广播操作

C. func参数只能传入内置函数

D. func参数可以传入多个内置函数

4. 下列选项中,关于apply()说法不正确的是。( )

A. 可以使用自定义函数

B. 可以接收多个函数

C. 可以使用广播功能

D. 返回的结果一定与原数据的形状相同

5. 请阅读下面一段程序:

import pandas as pd

(pd.DataFrame([[2, 3],] * 3, columns=['A', 'B'])).apply(lambda x: x + 1)

执行上述程序后,最终输出的结果为( )。

A.

A B

0 3 2

1 3 2

2 3 2

B. A B

0 2 3

1 2 3

2 2 3

C. A B

0 3 4

1 3 4

2 3 4

D. A B

0 4 3

1 4 3

2 4 3

四、 简答题

1. 请简述分组聚合的流程。

2. 请简述常用的分组方式。

五、 程序题

1. 现有如下图所示的学生信息,请根据图中的信息完成以下操作:

(1) 根据年级信息为分组键,对学生信息进行分组,并输出大一学生信息。

(2) 分别计算出四个年级中身高最高的同学。

(3) 计算大一学生与大三学生的平均体重。

第6章习题

一、 填空题

1. bokeh是针对 使用的交互式可视化库。

2. 数据可视化常见的统计图表有 、 、 。(写出3个即可)

3. 在使用Matplotlib绘制图表时,需要导入 模块。

4. 在直方图中一般使用横轴表示 ,用纵轴表示 。

5. 在使用Matplotlib绘制柱状图时可以使用pyplot模块中的 函数。二、 判断题

1. seaborn是基于Matplotlib核心库。( )

2. Figure对象可以划分多个绘图区域,每个绘图区域都是一个Axes对象。(3. 绘制图表时,可以使用subplot()函数创建多个子图。( )

4. Matplotlib默认支持中文显示。( )

5. Matplotlib生成的图表可以保存在本地。( )

三、 选择题

1. 下列选项中,关于Matplotlib库说法不正确是。( )

A. Matplotlib是一个Python 3D绘图库

B. 可输出PNG、PDF等格式

C. 渐进、交互的方式实现数据可视化

D. 使用简单

2. 下列选项中,不属于Seaborn库的特点是。( )

A. Seaborn是基于Matplotlib的可视化库

B. 基于网格绘制出更加复杂的图像集合

C. 多个内置主题及颜色主题

D. 可以处理大量的数据流

3. 下列选项中,关于boken库说法不正确的是。( )

A. boken是一个专门针对Web浏览器使用的交互式可视化库

B. Plotting接口用于构建各种组装图形元素

C. Models接口可以为开发者提供最大的灵活性

D. Charts库可直接使用,不需要单独安装

4. 下列函数中,可以绘制散点图的函数是。( )

A. hist()

B. scatter()

C. bar()

D. pie()

5. 下列选项中,描述不正确的是。( )

A. 箱形图可以提供有关数据分散情况的信息,可以很直观地查看数据的四分位分布

B. 折线图是用直线段将数据连接起来而组成的图形,以折线的方式显式数据的变化

C. 饼图显示一个数据序列中的各项的大小与各项总和的比例

D. 条形图是由一系列高度不等的纵向条纹或线段表示数据分布情况

四、 程序题

1. 现有如图6-40所示的股票数据,根据图中的数据,完成以下需求:

图6-1

股票数据

(1) 使用DataFrame创建该股票数据。

(2) 以证券简称为x轴,最新价为y轴使用条形图展示,将生成的条形图图以

shares_bar.png为文件名保存在桌面上。

第7章习题

一、 填空题

1. ________是指多个时间点上形成的数值序列。

2. ARIMA模型是一种用于时间序列________的常见统计模型。

3. Pandas中的频率是由一个________和一个乘数组成的,比如7D。

4. ________是指将时间序列从一个频率转换到另一个频率的处理过程。

5. 在Pandas中,使用________类表示一个标准的时间段或时期。

二、 判断题

1. 最基本的时间序列类型是以时间戳为索引的Series对象。( )

2. 如果相同频率的两个Period对象进行数学运算,那么计算结果为它们的单位数量。( )

3. 任何类型的Pandas对象都可以进行重采样。( )

4. DatetimeIndex是一种用来指代一系列时间戳的索引结构。( )

5. 降采样时可能会导致一些时间戳没有对应的数据。()

三、 选择题

1. 下列选项中,不可以用做Pandas对象索引的是( )。

A. Period

B. DatetimeIndex

C. PeriodIndex

D. MultiIndex

2. 请阅读下面一段程序:

import pandas as pd

period1 = pd.Period('2015/6/1')

print(period1 + 50)

执行上述程序,最终输出的结果为( )。

A. 2015-07-18

B. 2015-07-19

C. 2015-07-20

D. 2015-07-21

3. 请阅读下面一段程序:

import pandas as pd

import numpy as np

date_index = pd.date_range(start=\"2018/08/10\

date_se = pd.Series(np.arange(5), index=date_index)

sorted_se = date_se.sort_index()

print(sorted_se.truncate(after='2018-8-11'))

执行上述程序,最终输出的结果为( )。

A. 2018-08-12 2

2018-08-13 3

B. 2018-08-12 2

2018-08-13 3

2018-08-14 4

C. 2018-08-10 0

2018-08-11 1

2018-08-12 2

D. 2018-08-10 0

2018-08-11 1

4. 下列函数中,用于创建固定频率DatetimeIndex对象的是( )。

A. shift()

B. date_range()

C. period_range()

D. asfreq()

5. 关于重采样的说法中,下列描述错误的是( )。

A. 重采样是将时间序列从一个频率转到另一个频率

B. 升采样的时间颗粒是变小的

C. 时间序列数据在降采样时,总体的数据量是增加的

D. 时间序列数据在降采样时,总体的数据量是减少的

四、 简答题

1. 时间序列的数据有哪几种?

2. 什么是降采样?什么是升采样?

五、 程序分析题

阅读下面的程序,分析代码是否能够编译通过。如果能编译成功,请列出运行的结果,否则请说明编译失败的原因。

1. 代码一:

import pandas as pd

date_index = pd.date_range('2018/08/10')

ser_obj = pd.Series(11, date_index)

print(ser_obj)

2. 代码二:

import pandas as pd

period1 = pd.Period('2017/1')

period2 = pd.Period('2017/6')

print(period2-period1)

3. 代码三:

date_index = pd.date_range('2018/09/10', '2018/09/13')

ser_obj = pd.Series(11, date_index)

ser_obj['2018\\09\\12']

第8章习题

一、 填空题

1. 常见的情感极性分析方法主要有 和 方法。

2. 文本相似度的检测是根据 公式进行检测。

3. 余弦相似度与向量的幅值 ,与向量的方向 。

4. 文本分类属于 的机器学习。

5. 文本分类的步骤包括 、 、 、 。

二、 判断题

1. 导入的文本数据不需要任何处理就可以进行分析。( )

2. 文本分词的目的在于使用单词来表示文本特征。( )

3. 可以在停用词表中随意添加停用词。( )

4. 词干提取和词性还原的目的是相同的。( )

5. jieba分词只能用于中文分词。( )

三、 选择题

1. 下列选项中,关于nltk库的描述不正确的是( )。

A. nltk擅长处理英文文本

B. nltk包括分词、词性标注、命名实体识别及句法分析等

C. nltk是一个免费的、开源的、社区驱动的项目

D. nltk库只能处理英文文本

2. 根据中文的特点以下不属于分词算法的是( )。

A. 基于规则的分词方法

B. 基于统计的分词方法

C. 基于理解的分词方法

D. 基于动态的分词方法

3. 下列选项中,不属于jieba分词模式( )。

A. 支持精确模式

B. 支持全模式

C. 支持搜索引擎模式

D. 支持繁体分词模式

4. 阅读下面一段程序:

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)

执行上述程序,最终输出的结果为( )。

A. ['Life', 'short', ',', 'need', 'Python', '.']

B. ['Life', 'short', 'need', 'Python',]

C. ['Life', 'is', 'short', ',', 'need', 'Python', '.']

D. ['Life', 'short', ',', 'you' ,'need', 'Python', '.']

5. 阅读下面一段程序:

import jieba

sentence = '人生苦短,我用Pyhton'

terms_list = jieba.cut(sentence, cut_all=True)

print(' '.join(terms_list))

执行上述程序,最终输出的结果为(A. 人生 苦短 我用 Pyhton

B. 人生 苦短 我 用 Pyhton

C. 人生苦短 我 用 Pyhton

D. 人 生 苦 短 我 用 Pyhton

四、 简答题

1. 什么是文本分析?

2. 请简述常用的文本情感分析方法。3. 请简述检测文本相似度的流程。

因篇幅问题不能全部显示,请点此查看更多更全内容