一、numpy庫

功能介紹

1、一個強大的N維數組對象Array;

2、比較成熟的(廣播)函數庫;

3、用於整合C/C++和Fortran代碼的工具包;

4、實用的線性代數、傅里葉變換和隨機數生成函數。numpy和稀疏矩陣運算包scipy配合使用更加方便。

array用法

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

名稱

描述

object

數組或嵌套的數列

dtype

數組元素的數據類型,可選

copy

對象是否需要複製,可選

order

創建數組的樣式,C為行方向,F為列方向,A為任意方向(默認)

subok

默認返回一個與基類類型一致的數組

ndmin

指定生成數組的最小維度

#一維輸出
import numpy as np 
a = np.array([1,2,3])  
print (a)
->[1,2,3]

# 二維輸出  
a = np.array([[1, 2], [3, 4]]) 
print (a)
->[[1, 2]
  [3,4]]

# 最小維度
a = np.array([1, 2, 3,4,5], ndmin = 2) 
print (a)
->[[1, 2, 3, 4, 5]]

# 參數
a = np.array([1, 2, 3], dtype = complex) 
print (a)
->[ 1.+0.j,  2.+0.j,  3.+0.j]

 

ndarray對象屬性用法

屬性

説明

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

包含實際數組元素的緩衝區,由於一般通過數組的索引獲取元素,所以通常不需要使用這個屬性。

# ndim 用於返回數組的維數,等於秩。
import numpy as np  
a = np.arange(2)  
print(a.ndim)         # a 現只有一個維度
# 現在調整其大小
b = a.reshape(2,4,3)  # b 現在擁有三個維度
print (b.ndim)
->1
 3

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

# shape調整數組大小
a = np.array([[1,2,3],[4,5,6]]) 
a.shape = (3,2)
print (a)
->[[1 2]
   [3 4]
   [5 6]]

# reshape調整數組大小
a = np.array([[1,2,3],[4,5,6]]) 
b = a.reshape(3,2) 
print (b)
->[[1 2]
   [3 4]
   [5 6]]

 

empty用法

numpy.empty(shape, dtype = float, order = 'C')

參數

描述

shape

數組形狀

dtype

數據類型,可選

order

有"C"和"F"兩個選項,分別代表,行優先和列優先,在計算機內存中的存儲元素的順序。

# 創建空數組
import numpy as np 
x = np.empty([3,2], dtype = int)
print (x)
->[[ 6917529027641081856  5764616291768666155]
   [ 6917529027641081859 -5764598754299804209]
   [          4497473538      844429428932120]]
//數組元素為隨機值,因為它們未初始化。

 

zeros用法(ones類似:以1填充)

numpy.zeros(shape, dtype = float, order = 'C')

參數

描述

shape

數組形狀

dtype

數據類型,可選

order

'C' 用於 C 的行數組,或者 'F' 用於 FORTRAN 的列數組

# 用0填充數組
# 默認為浮點數
x = np.zeros(5) 
print(x)
# 設置類型為整數
y = np.zeros((5,), dtype = np.int) 
print(y)
# 自定義類型
z = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])  
print(z)
->[0. 0. 0. 0. 0.]
  [0 0 0 0 0]
  [[(0, 0) (0, 0)]
  [(0, 0) (0, 0)]]