最常见的 NumPy 面试问题和答案 [对于应届生]
已发表: 2020-12-29如果您希望在技术领域拥有辉煌的职业生涯,那么您已经知道 NumPy 的资格是目前最抢手的技能之一。 毕竟,NumPy 是建立在计算阵列的事实标准之上的。
因此,这里列出了一些常见的 NumPy 面试问题和答案,您可能希望在下次面试前查看这些问题和答案。
前 15 个 NumPy 面试问题和答案
问题 1:什么是 NumPy?
NumPy 是一个开源的、通用的、用于数组处理的包。 它缺少数字 Python。 它以其强大的 N 维数组对象和加载的用于处理数组的工具的高端性能而闻名。 该包是 Python 的扩展,用于执行科学计算和其他广播功能。
NumPy 易于使用、优化良好且高度灵活。
无需编码经验。 360° 职业支持。 来自 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭。问题 2:NumPy 的用途是什么?
Python 上的开源数值库支持多维数组并包含矩阵数据结构。 可以使用 NumPy 对数组执行不同类型的数学运算。 这包括三角运算以及统计和代数计算。 Numeric 和 Numarray 是 NumPy 的扩展。
问题 3:为什么 NumPy 优于 Idl、Matlab、Octave 或 Yorick 等其他编程工具?
NumPy 是 Python 编程语言中的一个高性能库,允许进行科学计算。 它比 Idl、Matlab、Octave 或 Yorick 更受欢迎,因为它是开源和免费的。 此外,由于它使用的是通用编程语言 Python,因此在将 Python 的解释器连接到 C/C++ 和 Fortran 代码时,它的得分高于通用编程语言。
NumPy 支持多维数组和矩阵,并有助于对它们执行复杂的数学运算。
问题 4:NumPy 的各种特性是什么?
作为用于数组处理的强大开源包,NumPy 具有各种有用的功能。 他们是:
- 包含一个 N 维数组对象
- 它是互耐受的; 兼容许多硬件和计算平台
- 与数组库配合得非常好; 稀疏、分布式或 GPU
- 执行复杂(广播)功能的能力
- 支持与 C 或 C++ 和 Fortran 代码集成的工具
- 能够执行高级数学函数,如统计、傅里叶变换、排序、搜索、线性代数等
- 它还可以作为通用数据的多维容器
- 支持科学和财务计算
问题 5:如何在 Windows 上安装 NumPy?
要在 Windows 上安装 NumPy,您必须首先在您的计算机上下载并安装 Python。
请按照以下步骤安装 Python:
第 1 步:访问 Python 的官方页面并在您的 Windows 10/8/7 上下载 Python 和 Python 可执行二进制文件
第 2 步:打开 Python 可执行安装程序并按运行
第 3 步:在 Windows 系统上安装 pip
使用 pip,您可以在 Python 中安装 NumPy。 下面是 NumPy 的安装过程:
第一步:启动终端
第 2 步:键入 pip
第 3 步:安装 NumPy
问题 6. 列出 NumPy 数组相对于(嵌套)Python 列表的优势?
Python 的列表,尽管是非常高效的容器,能够提供许多功能,但与 NumPy 数组相比,它有一些限制。 不可能执行包括元素加法和乘法在内的矢量化操作。
它们还要求 Python 存储每个元素的类型信息,因为它们支持不同类型的对象。 这意味着每次对元素进行操作时都必须执行类型调度代码。 此外,每次迭代都必须进行类型检查并需要 Python API 簿记,导致 C 循环执行的操作很少。
问题 7:列出创建一维数组和二维数组的步骤
一维数组的创建如下:
数字=[1,2,3]
num = np.array(num)
打印(“一维数组:”,num)
创建一个二维数组如下:
num2=[[1,2,3],[4,5,6]]
num2 = np.array(num2)
print("\n2d 数组:",num2)
查看:数据科学面试问题
问题 8:如何创建 3D 阵列?
创建一个三维数组如下:
num3=[[[1,2,3],[4,5,6],[7,8,9]]]
num3 = np.array(num3)
print("\n3d 数组:",num3)
问题9:一维阵列、二维阵列和3D/ND阵列分别使用shape的步骤是什么?
一维数组:
num=[1,2,3] 如果不加
print('\nshpae of 1d ',num.shape)
二维数组:
num2=[[1,2,3],[4,5,6]] 如果不加
print('\nshpae of 2d ',num2.shape)
3D 或 ND 阵列:
num3=[[[1,2,3],[4,5,6],[7,8,9]]] 如果不加
print('\nshpae of 3d ',num3.shape)
问题 10:如何识别给定 NumPy 数组的数据类型?
使用以下代码序列来识别 NumPy 数组的数据类型。
print('\n 数据类型 num 1 ',num.dtype)
print('\n 数据类型 num 2 ',num2.dtype)
print('\n 数据类型 num 3 ',num3.dtype)
问题 11. 计算给定值在整数数组中出现的次数的过程是什么?
您可以使用 bincount() 函数计算给定值出现的次数。 应该注意的是 bincount() 函数接受正整数或布尔表达式作为其参数。 不能使用负整数。
使用 NumPy.bincount()。 结果数组是

>>> arr = NumPy.array([0, 5, 4, 0, 4, 4, 3, 0, 0, 5, 2, 1, 1, 9])
>>> NumPy.bincount(arr)
问题 12. 如何检查空(零元素)数组?
如果变量是一个数组,您可以使用 size 属性检查一个空数组。 但是,变量可能是列表或序列类型,在这种情况下,您可以使用 len()。
检查零元素的首选方法是 size 属性。 这是因为:
>>> a = NumPy.zeros((1,0))
>>> a.大小
0
然而
>>> 长度(一)
1
问题 13:在某些条件为真的情况下,在 NumPy 上查找数组索引的过程是什么?
您可以使用函数 numpy.nonzero() 来查找索引或数组。 您也可以使用 nonzero() 方法来执行此操作。
在下面的程序中,我们将采用一个数组 a,其中条件是 a > 3。它返回一个布尔数组。 我们知道 Python 上的 False 和 NumPy 表示为 0。因此,np.nonzero(a > 3) 将返回条件为 True 的数组 a 的索引。
>>> 将 numpy 导入为 np
>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> 一 > 3
数组([[假,假,假],
[真,真,真],
[真,真,真]],dtype=bool)
>>> np.nonzero(a > 3)
(数组([1, 1, 1, 2, 2, 2]), 数组([0, 1, 2, 0, 1, 2]))
您还可以调用布尔数组的 nonzero() 方法。
>>> (a > 3).nonzero()
(数组([1, 1, 1, 2, 2, 2]), 数组([0, 1, 2, 0, 1, 2]))
阅读: Apache PySpark 中的数据框:综合教程
问题 14:下图是输入的 NumPy 数组。 删除第二列并将其替换为下面给出的新列。
导入 NumPy
sampleArray = NumPy.array([[34,43,73],[82,22,12],[53,94,66]])
newColumn = NumPy.array([[10,10,10]])
预期输出:
打印原始阵列
[[34 43 73]
[82 22 12]
[53 94 66]]
删除轴 1 上的第 2 列后的数组
[[34 73]
[82 12]
[53 66]]
在轴 1 上插入第 2 列后的数组
[[34 10 73]
[82 10 12]
[53 10 66]]
解决方案:
导入 NumPy
print(“打印原始数组”)
sampleArray = NumPy.array([[34,43,73],[82,22,12],[53,94,66]])
打印(样本数组)
print(“删除轴 1 上的第 2 列后的数组”)
sampleArray = NumPy.delete(sampleArray, 1, 轴 = 1)
打印(样本数组)
arr = NumPy.array([[10,10,10]])
print(“在轴 1 上插入第 2 列后的数组”)
sampleArray = NumPy.insert(sampleArray , 1, arr, 轴 = 1)
打印(样本数组)
数据科学高级认证、250 多个招聘合作伙伴、300 多个学习小时、0% EMI解决方案:
导入 NumPy
print(“打印原始数组”)
sampleArray = NumPy.array([[34,43,73],[82,22,12],[53,94,66]])
打印(样本数组)
print(“删除轴 1 上的第 2 列后的数组”)
sampleArray = NumPy.delete(sampleArray, 1, 轴 = 1)
打印(样本数组)
arr = NumPy.array([[10,10,10]])
print(“在轴 1 上插入第 2 列后的数组”)
sampleArray = NumPy.insert(sampleArray , 1, arr, 轴 = 1)
打印(样本数组)
结论
我们希望上述 NumPy 面试问题将帮助你为即将到来的面试做准备。 如果您正在寻找可以帮助您掌握 Python 语言的课程,upGrad可能是最好的平台。
如果您想了解数据科学,请查看 IIIT-B 和 upGrad 的在线数据科学计划,该计划专为在职专业人士创建,提供 10 多个案例研究和项目、实用的实践研讨会、行业专家指导、一对一-1 与行业导师,400 多个小时的学习和顶级公司的工作协助。
我们希望这会有所帮助。 祝你面试顺利!
