【题目】Python分析库选择题

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基于密度的聚类的算法,要求聚类空间的一定区域所包含的对象的数目不小于某一给定阈值,当邻近区域的密度超过某个阈值,则继续聚类
GCNGCN分类本质上是基于图的聚类,然而基于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

XYZ
a0510
b1

NaN

11
c2712
d38NaN
e4914

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数据输出结果如表格所示:

indexABC
0147
1258
2369

那么以下可以获得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按照标签值来定位元素

来源:专项练习-数据分析-Python分析库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值