最常見的 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 多個小時的學習和頂級公司的工作協助。
我們希望這會有所幫助。 祝你面試順利!
