前言
大家好!我是初心,本期給大家?guī)淼氖?NumPy 案例鞏固強化練習題,共17道,親測。
一、NumPy基礎訓練
1.1 創(chuàng)建一個長度為10的一維全為0的ndarray對象,并讓第5個元素為1
n1 = np.zeros(10,dtype=np.int16)
n1[4] = 1
n1
1.2 創(chuàng)建一個元素為從10到49的ndarray對象
n2 = np.arange(10,50)
n2
1.3 將第2題的所有元素位置反轉
n2[::-1]
1.4 創(chuàng)建一個10*10的ndarray對象并打印最大最小元素
n4 = np.random.random((10,10))
print(np.max(n4))
print(np.min(n4))
1.5 創(chuàng)建一個10*10的ndarray對象,且矩陣邊界全為1,里面全為0
n5 = np.zeros((10,10),dtype=np.int16)
n5[[0,9]] = 1
n5[:,[0,9]] = 1
print(n5)
1.6 創(chuàng)建一個每一行都是從0到4的5*5矩陣
# 首先生成一個 0-4 的列表
I = [i for i in range(5)]
# 得到一個擁有 25 個元素的一維列表
I = I * 5
# 通過列表構建 numpy 數(shù)組
n = np.array(I)
# 將數(shù)組形狀變?yōu)?5*5
n = n.reshape(5,5)
# 查看n
n
1.7 創(chuàng)建一個范圍在0-1之間的長度為12的等差數(shù)列
n7 = np.linspace(0,1,num=12)
n7
1.8 創(chuàng)建一個長度為10的隨機數(shù)組并排序
n8 = np.random.random(10)
np.sort(n8)
1.9 創(chuàng)建一個長度為10的隨機數(shù)組并將最大值替換為0
n9 = np.random.random(10)
n9[np.argmax(n9)] = 0
print(n9)
二、NumPy強化訓練
2.1 給定一個4維矩陣,求最后兩維的和
n1 = np.random.randint(1,10,(2,3,4,5)) # 四維數(shù)組
display(n1)
np.sum(n1,(2,3))
# axis = 0 表示第一個維度
# axis = 1 表示第二個維度
# axis = 2 表示第三個維度
# axis = 3 表示第四個維度
2.2 給定數(shù)組[1,2,3,4,5],在每個元素后插入3個0
n = np.arange(1,6)
display(n)
n2 = np.zeros(17,dtype=np.int16)
display(n2)
n2[::4] = n
n2
2.3 給定一個二維矩陣,交換其中兩行元素
n = np.random.randint(1,10,(3,3))
display(n)
n = n[[1,0,2]] # 交換第一行和第二行
display(n)
2.4 創(chuàng)建一個長度為100000的隨機數(shù)組,使用兩種方法求3次方,并比較所用時間
n = np.random.randint(0,10,100000)
%timeit n ** 3
%timeit np.power(n,3)
2.5 創(chuàng)建一個5 * 3的隨機矩陣和一個3 * 2的隨機矩陣,求矩陣積
n1 = np.random.randint(0,10,(5,3))
n2 = np.random.randint(0,10,(3,2))
display(n1,n2)
np.dot(n1,n2)
2.6 矩陣每一行的元素都減去該行的平均值
n = np.random.randint(0,10,(3,4))
display(n)
# 行平均值
n2 = np.mean(n,axis=1).reshape(3,1)
display(n2)
n - n2
2.7 打印如下矩陣
n = np.zeros((8,8),dtype = np.int16)
display(n)
n[::2,1::2] = 1
n[1::2,0::2] = 1
display(n)
2.8 正則化一個5*5隨機矩陣
n = np.random.randint(0,10,(5,5))
display(n)
min1 = np.min(n)
max1 = np.max(n)
n = (n - min1) / (max1 - min1)
display(n)
注:題目素材來自 ——《千鋒教育》文章來源:http://www.zghlxwxcb.cn/news/detail-556973.html
結語
本期跟大家分享的就是這些題目了!希望大家可以多多實操練習,加強鞏固,以便更好的掌握 NumPy 。文章來源地址http://www.zghlxwxcb.cn/news/detail-556973.html
相關導讀
文章直達 | 鏈接 |
---|---|
上期回顧 | 【數(shù)據(jù)分析 - 基礎入門之NumPy⑤】- NumPy基本操作 - 二 |
下期預告 | 【數(shù)據(jù)分析 - 基礎入門之pandas篇①】- pandas基礎入門 - 一 |
到了這里,關于【數(shù)據(jù)分析 - 基礎入門之NumPy⑥】- NumPy案例鞏固強化的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!