1.創建一個邊界值為1而內部都是0的數組,圖例如下:[提示:]解此題可以先把所有值都設置為1,這是大正方形;其次,把邊界除外小正方形全部設置為0。本題用到numpy的切片原理。多維數組同樣遵循x[start:stop:step]的原理。[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.][ ...
1.創建一個邊界值為1而內部都是0的數組,圖例如下:
[提示:]解此題可以先把所有值都設置為1,這是大正方形;其次,把邊界除外小正方形全部設置為0。
本題用到numpy的切片原理。多維數組同樣遵循x[start:stop:step]的原理。
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
1 import numpy as np 2 a=np.ones([10,10]) 3 a[1:-1,1:-1]=0 4 print(a)
2.在數組主對角線上創建一個值為1,2,3,4的5x5矩陣,圖例如下:
[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]
1 import numpy as np 2 a=np.zeros([4,4]) 3 for i in range(4): 4 a[i,i]=i+1 5 print(a)
3.數組歸一化操作
生成一個隨機的5*5矩陣,找出最大值和最小值,然後把最大值和最小值分別用1和0表示,其他值則介於在0和1中間。
import numpy as np a=np.random.rand(5,5) a=np.around(a*10,decimals=0) amax=a.max() amin=a.min() akey=amax/1 print(a) a[a==a.min()]=0 for i in range(5): for j in range(5): a[i][j]=a[i][j]/akey print(a)