numpy庫的學習

2021-10-09 06:36:27 字數 2518 閱讀 6210

今天開始進行對numpy庫的學習為了以後使用python進行機器學習開闢道路

為了方便在文件開頭可以

import numpy as np

這個函式實際上是

numpy.array(object, dtype = none, copy = true, order = none, subok = false, ndmin = 0)

想一想要儲存乙個陣列我們需要知道內容有哪些?

首先是需要乙個帶數字的列表也就是object

其次是資料型別dtype,當數字過大的時候我們想要把資料儲存為什麼形式的在有些情況下需要告訴計算機

剩下的ndmin表示的是最小維度也,也就是最小希望生成多少維的陣列。

arr = np.array([1

,2,3

,4,5

,6])

#一維陣列

arr = np.array([[

1,2,

3],[

4,5,

6],[

7,8,

9]])

#生成二維陣列

arr = np.array([1

,2,3

,4,5

,6])

#一維陣列

a1 = arr[0]

#訪問陣列中的第乙個元素

a2 = arr[0:

3]#訪問陣列中從下標為0開始往後數3個,返回的還是乙個一維陣列

arr = np.array([[

1,2,

3],[

3,4,

5]])

#二維陣列

a1 = arr[0]

#訪問二維陣列中的第一行,返回的是乙個一維陣列

a2 = arr[0:

3]#訪問二維陣列中前三個元素,返回的是乙個二維陣列

dim = np.ndim(arr)

#陣列的維度,一維陣列就是1二維陣列就是2

(n,m) = np.shape(arr)

#陣列的形狀,比如陣列是個3*4的矩陣那麼就返回(3,4)

size = np.size(arr)

#陣列中的元素總數,正好也可以用來求一維陣列的長度

arr = np.empty([3

,4],dtype =

int)

#生成乙個3*4的陣列,如果後面的dtype不設定的話預設為浮點數,注意這樣初始化的陣列中的元素的值是不確定的

arr = np.zeros(5)

#生成乙個長度為5的全是0的陣列

arr = np.ones(5)

#生成乙個長度為5的全是1的陣列

a =(1

,2,3

)arr = np.asarray(a)

#將乙個已知的元組上建立乙個陣列

arr = np.arange(5)

#將會生成[0,1,2,3,4]

arr = np.arange(10,

20,2)

#將會生成[10,12,14,16,18]注意這裡並沒有20

arr = np.linspace(1,

10,10)

#意思是從1開始到10結束線性生成10個數[1,2,3,4,5,6,7,8,9,10]

arr = np.logspace(1,

10,num =10)

#意思是預設以10為底數指數範圍為1到10生成10個數[10,10^2,...10^10]

arr = np.logspace(1,

10,base =

3,num =10)

#意思是以3為底,指數範圍1到10生成10個數[ 3 9 27 81 243 729 2187 6561 19683 59049]

簡單的賦值並不會生成新的儲存位址,所以為了不影響父本的值我們需要呼叫numpy的copy函式來完成賦值的工作。

arr = np.array([1

,2,3

,4,5

])arr1 = arr #對arr1進行操作的時候,訪問的其實都是arr的值,因此,修改arr1會影響arr

arr1 = arr.copy(

)#對arr進行拷貝,生成了新的陣列,這樣得到的陣列arr1是新的陣列,對其進行操作不會影響arr的值

如果我們想把乙個一維陣列變成乙個二維陣列我們可以呼叫reshape函式來幫助我們實現

a = np.array([1

,2,3

,4,5

,6,7

,8])

a.reshape(2,

4)#輸出結果為[[1,2,3,4]

# [5,6,7,8]]

機器學習 numpy庫的學習

import numpy as np import random 處理數值型的資料 使用numpy生成陣列,型別為ndarray t1 np.array 1 2,3 print t1 print type t1 t2 np.array range 10 print t2 full填充元素 np.fu...

Numpy庫的學習(一)

今天來學習一下python庫中,支援高階大量的維度陣列與矩陣運算的神奇的numpy庫 numpy同時也對陣列運算提供大量的數學函式,對於大量計算執行效率極好 是大量機器學習框架的基礎庫 廢話不多說,直接開整 numpy中最核心的結構就是ndarray陣列 numpy中定義的最重要的物件是成為ndar...

Numpy庫的學習(五)

今天繼續學習一下numpy庫,廢話不多說,整起走 先說下numpy中,經常會犯錯的地方,就是資料的複製 這個問題不僅僅是在numpy中有,其他地方也同樣會出現 先看看這段 我們隨便建立了乙個numpy陣列 然後我想把a這個值,賦值給b,很簡單的操作,b a 那麼我們列印一下b和a是不相等,返回的結果...