熱線電話:13121318867

登錄
首頁大數據時代numpy學得還不錯?來試試這20題(下)
numpy學得還不錯?來試試這20題(下)
2020-08-27
收藏

作者:劉早起

來源:早起Python

大家好,這篇是接上篇《numpy學得還不錯?來試試這20題(上)》,又到了numpy進階修煉專題。numpy大家應該不陌生了,看了太多的原理講解之后,用刷題來學習是最有效的方法,本文將將接下來的10個NumPy經典問題和實用代碼附上,建議打開Jupyter Notebook邊敲邊看!

11數據修改

問:如何對數據向上/下取整

輸入:

arr = np.random.uniform(0,10,10)

答案:

arr = np.random.uniform(0,10,10)
print(arr)
###向上取整
print(np.ceil(arr))
###向下取整
print(np.floor(arr) )

12格式修改

問:如何取消默認科學計數顯示數據

答案:

np.set_printoptions(suppress=True)

13數據修改

問:如何使用NumPy對二維數組逆序

輸入:

arr = np.random.randint(1,10,[3,3])

答案:

arr = np.random.randint(1,10,[3,3])
print(arr)
print('列逆序')
print(arr[:, -1::-1])
print('行逆序')
print(arr[-1::-1, :])

14數據查找

問:如何使用NumPy根據位置查找元素

輸入:

arr1 = np.random.randint(1,10,5)
arr2 = np.random.randint(1,20,10)

備注:在arr2中根據arr1中元素位置查找

答案:

arr1 = np.random.randint(1,10,5)
arr2 = np.random.randint(1,20,10)
print(arr1)
print(arr2)
print(np.take(arr2,arr1))

15數據計算

問:如何使用numpy求余數

輸入:

a = 10
b = 3

答案:

np.mod(a,b)

16數據計算

問:如何使用NumPy進行矩陣SVD分解

輸入:

A = np.random.randint(1,10,[3,3])

答案:

np.linalg.svd(A)

17數據篩選

問:如何使用NumPy多條件篩選數據

輸入:

arr = np.random.randint(1,20,10)

答案:

arr = np.random.randint(1,20,10)
print(arr[(arr>1)&(arr<7)&(arr%2==0)])

18數據修改

問:如何使用numpy對數組分類

備注:將大于等于7,或小于3的元素標記為1,其余為0

輸入:

arr = np.random.randint(1,20,10)

答案:

arr = np.random.randint(1,20,10)
print(arr)
print(np.piecewise(arr, [arr < 3, arr >= 7], [-1, 1]))

19數據修改

問:如何使用NumPy壓縮矩陣

備注:從數組的形狀中刪除單維度條目,即把shape中為1的維度去掉

輸入:

arr = np.random.randint(1,10,[3,1])

答案:

arr = np.random.randint(1,10,[3,1])
print(arr)
print(np.squeeze(arr))

20數據計算

問:如何使用numpy求解線性方程組

輸入:

A = np.array([[1, 2, 3], [2, -1, 1], [3, 0, -1]])
b = np.array([9, 8, 3])

備注:求解Ax=b

答案:

A = np.array([[1, 2, 3], [2, -1, 1], [3, 0, -1]])
b = np.array([9, 8, 3])
x = np.linalg.solve(A, b)
print(x)

以上就是我總結的NumPy經典20題,你都會嗎?并且每題我都只給出了一種解法,而事實上每題都有多種解法,所以你應該思考是否有更好的思路!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢