1. 程式人生 > 實用技巧 >如何做一款有靈魂的App——關於hope的啟發以及對於追夢App的思考

如何做一款有靈魂的App——關於hope的啟發以及對於追夢App的思考

Numpy的陣列array和矩陣matrix

Numpy的主要物件是同種元素的多維陣列。區別於python的list(可儲存多種)。這是一個所有的元素都是一種型別,通過一個正整數元組索引的元素表格(通常元素是是數字)。

在Numpy種維度(dimensions)角坐軸(axes)

0維(標量): 3

一維(陣列/向量):[1,2]

二維(矩陣):[[1,2],[3,4]]

三維(及以上稱為張量):[[[1,2],[3,4]]

numpy的索引和切片區別

最主要的是,索引維度根據索引輸入維度,下降相應維度;切片,返回結果維度是不會下降的。

因此,"X[ 切片1,切片2]" 和" "X[切片1][切片2]"結果不相同。前面相當於”切片1" 匹配維度0索引,”切片2“匹配維度1索引。 後者則是, 先獲取"X[切片1]" (資料維度不變),在原來的資料維度上,再獲取依此”切片2“指定索引。

print("ndarray的基本索引")
x = np.array([[1,2],[3,4],[5,6]])
print(x.shape)
print(x[2],"   ",x[2][1]) # 索引獲取
print(x[2,1])

x = np.array([[ [1,2],[3,4] ,[[5,6],[7,8]]]])
print (x.shape)
print(x)
print(x[0,0,1])

y = x[0].copy() #生成一個副本
z = x[0] #未生成副本 。始終記得python賦值類似傳引用。
print(y)
print(z)

y[0,0] = 9 #獨立副本互不關聯
print(y) print(x) z[0,0] = 9 # print(x) #切片演示 print("narray的切片") x = np.array([1,2,3,4,5]) print(x[1:4]) print(x[:3]) print(x[1:]) print(x) print(x[0:4:2]) x = np.array([[1,2],[3,4],[5,6]]) print(x[:2]) print(x[:2,:1]) #索引。注意左閉右開。切片前後資料維度不會降低。這邊會生成成 索引值。最終形式是 [1,3] print(x[:2][:1]) #切片。和上面值不一樣.切片不會改變資料維度。 過程是 獲取 [[1,2],[3,4]] 此時維度還是之前的, 再接[:1] ,相當於取[1,2]
x[:2,:1] = 9 #標量可以上升到任意維度進行廣播 #x[:2,:1] = 3,4 #將會排除異常。 標量外的其餘情況賦值,需要維度匹配. 全部是 切片,返回的資料維度不變。 有一個是標量,則是索引,維度下降