numpy學習筆記

2022-07-24 12:06:10 字數 1571 閱讀 3088

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 #將會排除異常。 標量外的其餘情況賦值,需要維度匹配. 全部是 切片,返回的資料維度不變。 有乙個是標量,則是索引,維度下降

Numpy學習筆記

測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...

numpy學習筆記

1 array.ndim 用來輸出陣列的維度 2 array.shape 用來輸出陣列的形狀 3 arry.size 用來輸出陣列的大小見jupyter notebook的numpy function list 生成函式基本運算 直接用陣列的相加減乘除。也就是相對應的元素間的作用。關係運算 陣列元素...

NumPy學習筆記

example np.version np.array 1,2,3 4,5,6 np.zeros 3 3 np.ones 2 3,4 np.eye 3 np.range 5 0,1,2,3,4 np.random.rand 2,3 np.random.randint 5,size 2 3 value...