第三章 NumPy数值计算基础

文章目录

  • 1:选择题
  • 2:填空题

1:选择题

1:Numpy提供了两种基本对象,一种是ndarray,另一种是( )

A. array

B. func

C. matrix

D. Series


2:创建一个3*3的数组,下列代码中错误的是( )

A. np.arange(0,9).reshape(3,3)

B. np.eye(3)

C. np.random.random([3,3,3])

D. np.mat(“1,2,3;4,5,6;7,8,9”)


3:Numpy中统计数组元素个数的方法是( )

A. ndim

B. shape

C. size

D. itemsize


4:Numpy中的diag函数用于创建( )

A. 对角矩阵

B. 三角矩阵

C. 值为1的矩阵

D. 值为0的矩阵


5:Numpy.random模块中用于对一个序列进行随机排序的函数是( )

A. uniform

B. shuffle

C. permutation

D. normal


6:在NumPy中创建一个元素均为0的数组可以使用( )函数

A. zeros( )

B. arange( )

C. linspace( )

D. logspace( )


7:下列选项中不能创建Numpy数组的选项是( )

A. a = numpy.array([1,2,3])

B. a = numpy.array([1,[1,2,3],3])

C. a = numpy.array([[1,2,3],[4,5,6]])

D. a = numpy.array([[‘xiao’,’qian’],[‘xiao’,’feng’]])


8:下列代码运行的结果是( )。

a = numpy.array([1,2,3])
b = numpy.array([4,5,6])
a+b

A. [1,2,3,4,5,6]

B. [5,7,9]

C. 21

D. 12


9:a = numpy.array([[1,2,3],[4,5,6]])下列选项中可以选取数字5的索引的是( )。

A. a[1][1]

B. a[2][2]

C. a[1,1]

D. a[2,2]


2:填空题

1:有arr = np.arange(12).reshape(3,4),则arr[(0,1),(1,3)]对应的值是  1    7  ;arr[1:2,(0, 3)]对应的元素是  4    7  ;arr.ndim的值是  2  

知识点解析:reshape(3,4)前面的是行,后面的是列
ndim返回的是数组的维度,返回的只有一个数
arr[0,1] = 1,arr[1, 3] = 7, arr[1, 0] = 4, arr[1, 3] = 7, arr.ndim为2维数组


2:对于上题中的arr,若定义mask = np.array([1,0,1],dtype = np.bool),则arr[mask,1] 对应的元素是  1    9  

知识点解析:利用布尔值来取元素,1表示取对应的元素,0表示不取
arr[0, 1] = 1, arr[2, 1] = 9


3:a=np.arange(8).reshape(2,4),np.hsplit(a,2)返回值是    array([[0, 1], [4, 5]]), array([[2, 3], [6, 7]])]

知识点解析:np.hsplit(a,2)函数的作用是将数组a横向等分成两个数组。


4:数组转置是数据重塑的一种特殊形式,可以通过 ___方法或数组的T属性实现    transpose


5:创建一个范围在(0,1)之间的长度为12的等差数列的语句是 ___    np.linspace(0,1,12)

知识点解析:通过定义均匀间隔创建数值序列。需要指定间隔起始点、终止端,以及指定分隔值总数(包括起始点和终止点);最终函数返回间隔类均匀分布的数值序列

6:Numpy中数组的方法sort、argsort和lexsort分别是指 、 将___和    直接排序、x中的元素从小到大排列,提取其对应的index(索引)、对数组或列表按照某一行或列进行排序


7:实现创建一个10*10的ndarray对象,满足矩阵边界全为1,里面全为0对应的代码是______

a= np.zeros((10,10), dtype =int)
#  设置边界
a[0,:]=1
a[:,9]=1
a[:,0]=1
a[9,:]=1

8:将数组arr中所有的奇数置为-1对应的语句是______     arr[arr%2!=0]=-1

9:创建一个元素为从10到49的ndarray对象d1=___    np.arrange(10,49,1)


10:创建一个4*4的全零矩阵对象d2= ___    np.zeros([4,4])


11:Numpy中的ndarray的size属性返回的是___    数组元素个数


12:属性shape返回的是___     数组的维度
13:Numpy中的random模块中的函数shuffle的功能是对一个序列进行___     随机排序
14:补全计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离distance的代码。

a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
distance=___    np.sqrt(np.sum((a-b)**2))


15:补全从数组np.arange(15)中提取5到10之间的所有数字的代码。

array=np.arange(15)
index=np.where((array>=5) & (array<=10))
nums=___    array[index]


16:补充实现将数组a = np.arange(10).reshape(2,-1)和数组b = np.repeat(1, 10).reshape(2,-1)水平堆叠的代码。

a = np.arange(10).reshape(2,-1)
b = np.repeat(1, 10).reshape(2,-1)
array=___    np.hstack((a,b))
知识点解析:np.vstack():在竖直方向上堆叠
np.hstack():在水平方向上平铺


17:补充实现交换数组np.arange(9).reshape(3,3)中的第1列和第2列的代码。

array=np.arange(9).reshape(3,3)
array=___    array[:,[1,0,2]]


18:补全查找数组np.array([1,2,3,2,3,4,3,4,5,6])中的唯一值的数量的代码。

array=np.array([1,2,3,2,3,4,3,4,5,6])
counts=___    np.unique(array,return_counts=True)

知识点解析:unique函数去除其中重复的元素,并按元素由大到小返回一个新的无元素重复的元组或者列表


19:补全找出数组np.array([1,2,1,1,3,4, 3,1,1,2,1,1,2])中第五个1出现的位置的代码。

array=np.array([1, 2, 1, 1, 3, 4, 3, 1, 1, 2, 1, 1, 2])
loc=___    np.argsort(array)[4]

知识点解析:将array中的元素从小到大排列,提取其对应的index(索引),然后输出到loc


20:补全找到二维数组np.arange(9).reshape(3,3)每一行中的最大值的代码。

array=np.arange(9).reshape(3,3)
max_num=___    np.max(array,axis=0)


21:补全找出数组np.array([7,2,10,2,7,4,9,4,9,8])中的第二大值的代码。

array=np.array([7,2,10,2,7,4,9,4,9,8])
num=___    np.unique(array)[-2]


22:Numpy的主要数据类型是_________,用于计算的主要数据类型是_________    ndarray数据类型、矩阵


23:使用_________、_________函数可以创矩阵    mat、matrix


24:Numpy中reshape( )函数主要作用是    重置数组的形状

你可能感兴趣的:(Python数据分析,NumPy,python,numpy)