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( )函数主要作用是 重置数组的形状