1.Matplotlib 绘制多图情况的时候,下列说法不正确的是()
A.使用subplot()方法在绘图时需要指定位置
B.绘制多个子图时,只需调用一次plt.subplot()
C.plt.title()设置子图标题
D.plt.subtitle()设置图像标题
解析:选B。 ACD选项是正确说法;在绘制多个子图的时候,需要调用多次plt.subplot(),并说明要编辑的子图的标题的位置,因此B选项是错误的,本题选择B选项;
2.以下不是聚类算法的是()
A.k-means
B.KNN
C.DBSCAN
D.GCN
解析:选B。
k-means 最基础的聚类算法,它的输入需要簇的个数k,聚类目标是使得类内的点足够近,类间的点足够远 KNN 机器学习中的一种分类算法,并不是聚类算法 DBSCAN 基于密度的聚类的算法,要求聚类空间的一定区域所包含的对象的数目不小于某一给定阈值,当邻近区域的密度超过某个阈值,则继续聚类 GCN GCN分类本质上是基于图的聚类,然而基于GCN的聚类算法会有深度学习中的训练的概念,而传统的聚类算法则是通过人工设定阈值来决定的
3.使用可视化扩展库matplotlib中的pyplot模块中的legend()函数设置图像标题时,下面哪个参数用来设置文本的字体()
A.loc
B.prop
C.fontsize
D.frameon
解析:选B。
loc 设置图列位置 prop 设置字体参数 fontsize 设置图例字体大小 frameon 控制是否应在图例周围绘制框架
4.以下哪个不是主成分分析的作用()
A.降低所研究数据空间的维度
B.用主成分分析法构建回归模型
C.用主成分分析筛选回归变量
D.可以对输入数据做线性变换和非线性变换
解析:选D。主成分分析方法的主要作用:降低所研究数据空间的维度;用主成分分析法构建回归模型;用主成分分析筛选回归变量;多维数据的一种图形表示方法;可以通过因子负荷aij的结论,弄清X变量间的某些关系;选项D:主成分分析法只能做线性变换,所以D项错误。
5.通过numpy库定义arr数组,arr = np.arange(9).reshape(3,3),那么下列选项中哪个可以交换第一列和第二列位置()
A.arr[[1,0,2], :]
B.arr[:, [1,0,2]]
C.arr[::-1]
D.arr[:, ::-1]
解析:选B。
np.arange(9)
: 生成一个从0到8的数组。.reshape(3,3)
: 将一维数组重塑为一个3x3的二维数组。arr结果为:array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
arr[:, [1,0,2]]会按指定顺序选择数组的列。
:
表示选择数组的所有行。[1,0,2]
表示按照索引1、0、2的顺序来选择列。那么arr[:, [1,0,2]]的结果将是:array([[1, 0, 2], [4, 3, 5], [7, 6, 8]])
实现了第一列和第二列的交换。
6.存在一组DataFrame类型数据df,如下所示,需要删除数据中的索引标签为’b’和’d’的行,以下选项中操作有误的是哪个( )
Index/columns | X | Y | Z |
a | 0 | 5 | 10 |
b | 1 | NaN | 11 |
c | 2 | 7 | 12 |
d | 3 | 8 | NaN |
e | 4 | 9 | 14 |
A.df.drop(['b',’d’])
B.df.drop(df.index[[2,4]])
C.df.drop(['b','d'],axis=0)
D.df.dropna()
解析:选B。
drop() 用来数据清洗的一种操作,删除dataFrame中的行或者列 dropna() 用来删除数据中存在空缺值的行或者列 A选项是根据索引名的方式对数据行的删除操作,A描述正确;B选项是采用索引值的的方式对数据进行删除,但是在DataFrame数据中行的索引号是从0开始计数,因此正确写法应该是.df.drop(df.index[[1,3]]),因此B项描述错误;C选项和A选项描述的是一种意思,drop()函数默认axis参数就为0,因此C描述正确;D选项是是删除含有空缺值的行,因此D选项描述正确。
7.以下对pandas库中的to_numberic(arg,errors,downcast)函数的参数解释错误的选项()
A.errors=’raise’将非数字字符串转换为数字,数据中如果存在非数字字符串则会返回出错误,时间类型转换为int
B.errors=’ignore’只对数字字符串进行转换,其他类型一律不转换
C.errors='coerce'将数字字符串和bool类型转换为数字,其他均转换为NaN
D.downcast =’signed’所有值都将转换为浮点型
解析:选D。errors存在三个参数{'ignore','raise','coerce'},默认情况下为'raise'。如果为“ raise”,则无效的解析将引发异常;如果为“强制”,则无效的解析将设置为NaN;如果为“ ignore”,则无效的解析将返回输入。downcast =’signed’所有值都将转换为整型。
8.Matplotlib使用plt.subplots(m,n)函数绘制多图的时候,下列说法不正确的是()
A.plt.subplots()函数返回的是图形对象和所有的axes对象
B.ax.flatten()函数可以将m*n的子图展平成1*nm的axes组
C.subplot()函数和subplots() 函数相比,只创建了一个figure图形对象
D.axes对象使用set_title()函数为子图添加标题
解析:选C。选项A,plt.subplots(m,n)函数的返回值是一个元组,包括一个图形对象(fig)和所有的axes对象,其中axes 对象数量为m*n,因此A描述正确;选项B,在用plt.subplots(m,n)画多个子图时,ax=ax.flatten()操作将ax由n*m的Axes组展平成1*nm的Axes组,因此B项描述正确;选项C,subplots() 函数和 subplot() 函数使用方法类似。其不同之处在于,subplots() 既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象,而 subplot()只是创建一个包含子图区域的画布。因此C项描述不正确;选项D,ax.set_title()是给ax子图设置标题,当子图存在多个的时候,可以通过ax设置不同的标题。
9.以下哪个选项中的函数能够返回标准的正态分布的数组()
A.numpy.random.randn
B.numpy.random.uniform
C.numpy.random.rand
D.numpy.random.randint
解析:选A。
randn 返回一个指定形状的数组,数组中的值服从标准正态分布(均值为0,标准差为1) uniform 从一个均匀分布的区域中随机采样 rand 返回一个或一组服从“0~1”均匀分布的随机样本值,随机样本取值范围是[0,1),不包括1 randint 从给定的区域中随机选取设定数量的整数
10.存在一组numpy.ndarrry类型数据a=np.array([1,2,3,4])和各个数值的权重w=np.array([4,3,2,1]),以下哪种方法可以求得权重平均值()
A.np.mean()
B.np.nanmean()
C.np.average()
D.np.std()
解析:选C。
mean() 求取平均值 nanmean() 计算忽略NaN值的数组平均值。如果数组具有NaN值,找出不受NaN值影响的均值 mean() 和 average() 都有取平均数的意思。在不考虑加权平均的前提下,两者的输出一样。但是考虑权重的情况下,np.average(a,weights=w) 还可以计算加权平均值 std() 计算矩阵或者数组的标准差
11.下列哪个选项不是处理数据中缺失值的方法()
A.df.dropna()
B.df.fillna()
C.np.empty()
D.sklearn.impute.SimpleImputer()
解析:选C。A选项,采用pandas库中的dropna()函数来丢掉DataFrame数据中存在缺失值的样本;B选项,采用pandas库中的fillna() 函数来填充缺失值;C选项,np.empty()函数创建未初始化的数组,数组元素不为空,并不是处理缺失值的方法;D选项,采用的用sklearn包中的impute的SimpleImputer()函数来对缺失值进行填充;因此选择不正确的应该选择C选项。
12.提取出a和b两个数组中的公共项,可以使用numpy库中的哪个函数()
A.np.intersect1d(a,b)
B.np.setdiff1d(a,b)
C.np.where(a == b)
D.np.lexsort((a,b))
解析:选A。
np.intersect1d 用来获取数组a和数组b之间的公共项 np.setdiff1d(a,b) 用来从a数组中删除存在于b数组中的项 np.where(a == b) 用来获取a数组和b数组元素相匹配的位置 lexsort((a,b)) 一种排序算法,按键序列对数组进行排序,它返回一个已排序的索引数组
13.numpy数据库可以创建ndarray数组,以下哪个函数可以创建指定步长的一组ndarray数组()
A.numpy.arange
B.numpy.linspace
C.numpy.logspace
D.numpy.random.randint
解析:选A。
numpy.arange(start, stop, step, dtype) 根据start与stop指定的范围以及step设定的步长,生成一个ndarray numpy.linspace 用于创建一个一维数组,数组是一个等差数列构成的 numpy.logspace 用于创建一个于等比数列 numpy.random.randint 返回一个随机整型数
14.存在一组DataFrame类型数据data数据输出结果如表格所示:
index | A | B | C |
0 | 1 | 4 | 7 |
1 | 2 | 5 | 8 |
2 | 3 | 6 | 9 |
那么以下可以获得DataFrame数据中‘5’的选项是哪个()
A.data.iloc[1,’B’]
B.data.iloc[1,1]
C.data.loc(1,’B’)
D.data.loc[1,1]
解析:选B。
iloc 按照索引值来定位数据元素 loc 按照标签值来定位元素