numpy學習筆記

2022-07-15 07:24:07 字數 1788 閱讀 1603

第一篇:陣列建立

第二篇:陣列操作篇

#陣列訪問、排序、比較

arr = np.array([2.,6.,5.,5.])

print(arr[:3]) #前三個元素

print(arr[2]) #下標為2的元素

arr[0] = 7 #下標為0的元素賦值為5

print(arr) #輸出整個陣列

np.unique(arr) #返回消除重複的元素

np.sort(arr) #返回排序後的元素(從小到大)

np.argsort(arr) #返回排序後的元素下標(從小到大)

np.random.shuffle(arr) #調整陣列元素使隨機排列,注意是直接改變了陣列,而不是返回副本

np.array_equal(arr,np.array([1,3,2])) #相等,形狀和元素是否均相等,列表則使用cmp函式

matrix = np.array([[4.,5,6.],[2,3,6]], float)

matrix[0,2] #訪問二維陣列維度分割用逗號,而列表用multilist[0][2]

#對陣列各維度進行切片操作

matrix[0:1,1:2] #

matrix[1,:] #只有:表本維度所有

matrix[:,2]

matrix[-1:, -2:] #-2表從本維度倒數第二個元素開始往後數

#flatten函式可將多維陣列變為一維

matrix.flatten() #按行拼接成一維

matrix.shape #返回陣列形狀

matrix.dtype #返回陣列元素型別

#陣列元素資料型別轉換

int_matrix = matrix.astype(np.int32) #將陣列元素轉換為int32

#返回陣列第一維的長度:

len(matrix)

matrix.shape[0]

#關鍵字in,判斷陣列中是否包含某個元素

print(2 in arr) #輸出true or false

#reshape函式可調整陣列維度

arr = np.array(range(8), float)

arr = arr.reshape((4,2)) #一維陣列變為4x2

#陣列轉置

arr.transpose()

arr.t #兩者效果一樣,都返回轉置後的副本

#增加維度,用newaxis

arr = np.random.rand(3)

arr[:,np.newaxis] #返回副本,維度3x1

arr[np.newaxis, :] #返回副本,維度1x3

#陣列連線操作

arr1= np.array([[11,12],[32,42]], float)

arr2= np.array([[54,26],[27,28]], float)

arr = np.concatenate((arr1, arr2)) #預設按第一維度連線

arr = np.concatenate((arr1, arr2), axis=0)

arr = np.concatenate((arr1, arr2), axis=1) #按第二維度進行連線

#陣列和字串轉換

arr = np.array([10,20,30], float)

str = arr.tostring()

#三、陣列運算

#四、線性代數運算

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...