Numpy知識點總結-函數速查(一)

Numpy知識點總結(一)

索引

1.創建numpy數組 2.numpy的數據類型 3.numpy數組的屬性 4.numpy.empty創建數組
5.numpy.zeros創建數組 6.numpy.ones創建數組 7.numpy.arange創建數組 8.numpy.linspace創建一維等差數組
9.numpy.logspace創建等比數組

1.創建numpy數組:numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

參數說明:
object 數組或嵌套的數列
dtype 數組元素的數據類型,可選
copy 對象是否需要複製,可選
order 創建數組的樣式,C爲行方向,F爲列方向,A爲任意方向(默認)
subok 默認返回一個與基類類型一致的數組
ndmin 指定生成數組的最小維度

# 一般用一下幾種方法創建numpy的ndarray對象
a = np.array([1,2,3]) 							#創建一個一維矩陣
a = np.array([[1,  2],  [3,  4]]) 				#創建一個二維矩陣
a = np.array([1,  2,  3, 4, 5], ndmin = 2 ) 	#創建一個最小是二維的矩陣,若是一維自動轉爲二維

2.numpy的數據類型:

bool_ 布爾型數據類型(True 或者 False)
int_ 默認的整數類型(類似於 C 語言中的 long,int32 或 int64)
intc 與 C 的 int 類型一樣,一般是 int32 或 int 64
intp 用於索引的整數類型(類似於 C 的 ssize_t,一般情況下仍然是 int32 或 int64)
int8 字節(-128 to 127)
int16 整數(-32768 to 32767)
int32 整數(-2147483648 to 2147483647)
int64 整數(-9223372036854775808 to 9223372036854775807)
uint8 無符號整數(0 to 255)
uint16 無符號整數(0 to 65535)
uint32 無符號整數(0 to 4294967295)
uint64 無符號整數(0 to 18446744073709551615)
float_ float64 類型的簡寫
float16 半精度浮點數,包括:1 個符號位,5 個指數位,10 個尾數位
float32 單精度浮點數,包括:1 個符號位,8 個指數位,23 個尾數位
float64 雙精度浮點數,包括:1 個符號位,11 個指數位,52 個尾數位
complex_ complex128 類型的簡寫,即 128 位複數
complex64 複數,表示雙 32 位浮點數(實數部分和虛數部分)
complex128 複數,表示雙 64 位浮點數(實數部分和虛數部分)

# numpy 的數值類型實際上是 dtype 對象的實例
dt = np.dtype(np.int32)
print(dt) # int32

3.numpy數組的屬性

ndarray.ndim 秩,即軸的數量或維度的數量
ndarray.shape 數組的維度,對於矩陣,n 行 m 列
ndarray.size 數組元素的總個數,相當於 .shape 中 n*m 的值
ndarray.dtype ndarray 對象的元素類型
ndarray.itemsize ndarray 對象中每個元素的大小,以字節爲單位
ndarray.flags ndarray 對象的內存信息
ndarray.real ndarray元素的實部
ndarray.imag ndarray 元素的虛部
ndarray.data 包含實際數組元素的緩衝區,由於一般通過數組的索引獲取元素,所以通常不需要使用這個屬性。

# ndarray.ndim 用於返回數組的維數,等於秩。
a = np.arange(24)  
print (a.ndim)             # 1

# ndarray.shape 表示數組的維度,返回一個元組,這個元組的長度就是維度的數目,即 ndim 屬性(秩)。比如,一個二維數組,其維度表示"行數"和"列數"。
a = np.array([[1,2,3],[4,5,6]])  
print (a.shape)					# (2, 3)

# ndarray.shape 也可以用於調整數組大小。
a = np.array([[1,2,3],[4,5,6]]) 
a.shape =  (3,2)  
print (a) #[[1 2],[3 4],[5 6]]

# NumPy 也提供了 reshape 函數來調整數組大小。
a = np.array([[1,2,3],[4,5,6]]) 
b = a.reshape(3,2)  
print (b) #[[1 2],[3 4],[5 6]]

4.numpy.empty創建數組numpy.empty(shape, dtype = float, order = ‘C’)

參數說明
shape 數組形狀
dtype 數據類型,可選
order 有"C"和"F"兩個選項,分別代表,行優先和列優先,在計算機內存中的存儲元素的順序。

x = np.empty([3,2], dtype = int) 
print (x) 
#[[ 6917529027641081856  5764616291768666155]
#[ 6917529027641081859 -5764598754299804209]
#[          4497473538      844429428932120]]

【注】 數組元素爲隨機值,因爲它們未初始化。

5.numpy.zeros創建數組numpy.zeros(shape, dtype = float, order = ‘C’)

參數說明
shape 數組形狀
dtype 數據類型,可選
order ‘C’ 用於 C 的行數組,或者 ‘F’ 用於 FORTRAN 的列數組

# 默認爲浮點數
x = np.zeros(5) 
print(x) #[0. 0. 0. 0. 0.]

# 設置類型爲整數
y = np.zeros((5,), dtype = np.int) 
print(y) #[0 0 0 0 0]

【注】 創建指定大小的數組,數組元素以 0 來填充

6.numpy.ones創建數組numpy.ones(shape, dtype = None, order = ‘C’)

參數說明
shape 數組形狀
dtype 數據類型,可選
order ‘C’ 用於 C 的行數組,或者 ‘F’ 用於 FORTRAN 的列數組

# 默認爲浮點數
x = np.ones(5) 
print(x) #[1. 1. 1. 1. 1.]

【注】 創建指定大小的數組,數組元素以 1 來填充

7.numpy.arange創建數組numpy.arange(start, stop, step, dtype)

參數說明
start 起始值,默認爲0
stop 終止值(不包含)
step 步長,默認爲1
dtype 返回ndarray的數據類型,如果沒有提供,則會使用輸入數據的類型。

x = np.arange(5)  
print (x) # [0  1  2  3  4]

x = np.arange(5, dtype =  float)  
print (x) # [0.  1.  2.  3.  4.]

# 設置了起始值、終止值及步長:
x = np.arange(10,20,2)  
print (x) # [10  12  14  16  18]

8.numpy.linspace創建一維等差數組np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

參數說明
start 序列的起始值
stop 序列的終止值,如果endpoint爲true,該值包含於數列中
num 要生成的等步長的樣本數量,默認爲50
endpoint 該值爲 true 時,數列中中包含stop值,反之不包含,默認是True。
retstep 如果爲 True 時,生成的數組中會顯示間距,反之不顯示。
dtype ndarray 的數據類型

# 以下實例用到三個參數,設置起始點爲 1 ,終止點爲 10,數列個數爲 10。
a = np.linspace(1,10,10)
print(a) # [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]

#將 endpoint 設爲 false,不包含終止值:
#如果將 endpoint 設爲 true,則會包含 20。
a = np.linspace(10, 20,  5, endpoint =  False)  
print(a) # [10. 12. 14. 16. 18.]

9.numpy.logspace創建等比數組np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

參數說明
start 序列的起始值爲:base ** start
stop 序列的終止值爲:base ** stop。如果endpoint爲true,該值包含於數列中
num 要生成的等步長的樣本數量,默認爲50
endpoint 該值爲 true 時,數列中中包含stop值,反之不包含,默認是True。
base 對數 log 的底數。
dtype ndarray 的數據類型

# 默認底數是 10
a = np.logspace(1.0,  2.0, num =  10)  
print (a)
#[ 10.           12.91549665     16.68100537      21.5443469  27.82559402      
#  35.93813664   46.41588834     59.94842503      77.42636827    100.    ]

# 將對數的底數設置爲 2 :
a = np.logspace(0,9,10,base=2)
print (a) # [  1.   2.   4.   8.  16.  32.  64. 128. 256. 512.]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章