第三章 NumPy数值计算基础

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 第三章 NumPy数值计算基础

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


目录
相关文章
|
6月前
|
机器学习/深度学习 存储 算法
Python中的NumPy库:数值计算与科学计算的基石
【2月更文挑战第29天】NumPy是Python科学计算的核心库,专注于高效处理大型多维数组和矩阵。其核心是ndarray对象,提供快速数组操作和数学运算,支持线性代数、随机数生成等功能。NumPy广泛应用于数据处理、科学计算和机器学习,简化了矩阵运算、统计分析和算法实现,是数据科学和AI领域的重要工具。
|
3月前
|
存储 并行计算 测试技术
NumPy 性能优化:提升 Python 数值计算的速度
【8月更文第30天】Python 是一种广泛使用的编程语言,在科学计算领域尤其受欢迎。然而,由于 Python 的动态类型和解释执行机制,其在处理大规模数值数据时可能会显得相对较慢。为了克服这一限制,NumPy(Numerical Python)库提供了高性能的多维数组对象以及一系列用于操作这些数组的函数。本文将探讨如何利用 NumPy 来提高 Python 中数值运算的效率。
356 0
|
6月前
|
存储 索引 Python
python学习——NumPy数值计算基础
NumPy基础知识概览:涉及nan(非数字)和inf(无穷)的概念,nan在文件读取或不适当计算时出现,inf在除0操作中出现。数组操作有深拷贝(a=b.copy())、浅拷贝(a=b[:])和引用(a=b)。创建数组方式多样,如`np.array()`、`np.arange()`等。数据类型转换如`np.float64()`、`np.int8()`。随机数生成包含均匀分布、正态分布等。数组索引和切片支持多维操作。改变数组形状用`reshape()`,展平用`ravel()`和`flatten()`。矩阵运算包括加减乘、转置、逆矩阵等。
78 2
python学习——NumPy数值计算基础
|
存储 索引 Python
初识NumPy:Python中的数值计算库
NumPy(Numeric Python)是Python的一种开源的数值计算扩展。这种工具可用于存储和处理大型矩阵,使得在Python中进行数学运算变得更为便捷高效。
初识NumPy:Python中的数值计算库
|
存储 Python
Numpy数值计算
Numpy数值计算
107 0
|
Python
numpy基础实战笔记(基础篇)
陈年老货了,以前忘记发了,hhh
71 0
|
存储 人工智能 大数据
【人工智能】【Python】Numpy基础
【人工智能】【Python】Numpy基础
150 0
【人工智能】【Python】Numpy基础
|
机器学习/深度学习 存储 数据挖掘
NumPy数据分析基础:数组形态转换转置操作一文详解
NumPy数据分析基础:数组形态转换转置操作一文详解
223 0
NumPy数据分析基础:数组形态转换转置操作一文详解
|
机器学习/深度学习 数据挖掘 BI
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
146 0
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代