一、np.array()
np.array()/1、引數一般是乙個列表,可以將乙個列表轉換為多維陣列。為什麼要將列表轉換為陣列呢?因為列表中儲存的是物件型別,如果是單一的型別,沒有必要用列表,因為這樣會浪費儲存空間,同時也方便運算。
nparr = np.array([i for i in
range(10)])
nparr
結果:array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2、想要檢視陣列中儲存的資料型別可通過.dtype來檢視。如果資料中有浮點數,則整數也轉化為浮點數型別。
nparr2 = np.array([1,2,3.0])
nparr2.dtype
結果:dtype('float64')
3、還可以通過方法來直接建立特殊的陣列(注意,通過這些方法建立的陣列,其中的填充資料預設型別都為float),如下:
4、np.array的基本操作(x為陣列)
二、np.arange()
1、建立列表我們可以直接用range。
[i for i in
range(0,20,2)]
結果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
0和20是指:從0開始但不包括20,2為步長。
2、np提供了np.arange()這個方法可以直接建立陣列,用法同range差不多。傳入前兩個引數,預設步長為1;傳入乙個引數,則是指從0開始,到所傳的引數,步長為1。
np.arange(0,20,2)
結果:array
([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
np.arange(0,10)
array
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(10)
array
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
三、np.linspacenp.linspace(0,20,11)
array
([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 18., 20.])
其中0為起始數,20為終止數,11是將0到20(包括20)以平均步長分為11個數。預設型別為float。
四、np.random
np中也封裝了對隨機數產生的方法。
np.random.randint(0,10,size = 10):產生10個0到10的整型數,以一維陣列的形式儲存。(size可省略)
np.random.randint(0,10,size=(3,5)):產生3行5列的0到10 的隨機數組。
np.random.random():產生乙個0到1之間的隨機數。
np.random.random(10):產生10個0到1之間的隨機數,以一維陣列的形式儲存。
np.random.random((3,5)):產生3行5列的0到1的隨機數組。
np.random.normal(mean,stdev,size):給出均值為mean,標準差為stdev的高斯隨機數(場),當size賦值時,例如:size=100,表示返回100個高斯隨機數。
五、np.reshape
np.reshape()可以將乙個一維陣列分割為多維陣列,或者對它進行轉置。
x = array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x.reshape(2,5)
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
x.reshape(2,5)將陣列分割為2行5列的多維陣列。如果不能分割,則會報錯。
x.reshape(5,-1)
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
x.reshape(-1,5)
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
-1則是表明為任意行或者列,控制陣列形狀的為另乙個引數。
原創請註明:
機器學習 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...
CI學習之建立程式庫
注意 除了資料庫類和裝載器類無法被擴充套件或替換,剩餘其他類都可以被擴充套件或者替換。建立完全屬於自己的類庫檔案 1.檔名和檔案中定義的類的名字要一樣。並且首字母要大寫的。2.使用自己的類庫的時候,第一步就是要載入這個類庫。也就是 this load library 類名 注意 類名不分大小寫,那就...
我的程式庫 HiCSDB
該庫的目標是簡化c 的資料庫互動操作.在這個庫中,我將資料庫的互動操作抽象為一下幾個函式 1 executenonquery 執行無返回值的操作,例如insert,update,delete等 2 executescalar 獲得查詢結果的第一行第一列.3 executedatatable 查詢多條...