默認(rèn)情況下,所有的NumPy函數(shù)都可以通過SciPy命名空間獲得。 當(dāng)導(dǎo)入SciPy時(shí),不需要顯式導(dǎo)入NumPy函數(shù)。 NumPy的主要目標(biāo)是均勻多維數(shù)組。 它是一個(gè)元素表(通常是數(shù)字),都是相同類型,由正整數(shù)的元組索引。 在NumPy中,大小(尺寸)被稱為軸。 軸的數(shù)量稱為等級。
現(xiàn)在,讓修改NumPy中的Vectors和Matrices的基本功能。 由于SciPy構(gòu)建在NumPy數(shù)組之上,因此需要了解NumPy基礎(chǔ)知識。 由于線性代數(shù)的大多數(shù)部分只處理矩陣。
NumPy向量
向量(Vector)可以通過多種方式創(chuàng)建。 其中一些描述如下。
將Python數(shù)組類對象轉(zhuǎn)換為NumPy中的數(shù)組,看看下面的例子。
import numpy as np
list = [1,2,3,4]
arr = np.array(list)
print (arr)
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[1 2 3 4]
NumPy有從頭開始創(chuàng)建數(shù)組的內(nèi)置函數(shù)。 其中一些函數(shù)解釋如下。
使用zeros()
zeros(shape)函數(shù)將創(chuàng)建一個(gè)用指定形狀(shape)填充0值的數(shù)組。 默認(rèn)dtype是float64。 看看下面的例子。
import numpy as np
print (np.zeros((2, 3)))
執(zhí)行上面示例代碼,得到以下結(jié)果 -
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
使用ones()
ones(shape)函數(shù)將創(chuàng)建一個(gè)填充1值的數(shù)組。 它在所有其他方面與0相同。 看看下面的例子。
import numpy as np
print (np.ones((2, 3)))
執(zhí)行上面示例代碼,得到以下結(jié)果 -
array([[ 1., 1., 1.],
[ 1., 1., 1.]])
使用arange()
arange()函數(shù)將創(chuàng)建具有有規(guī)律遞增值的數(shù)組。 看看下面的例子。
import numpy as np
print (np.arange(7))
執(zhí)行上面示例代碼,得到以下結(jié)果 -
array([0, 1, 2, 3, 4, 5, 6])
定義值的數(shù)據(jù)類型
看看下面一段示例代碼 -
import numpy as np
arr = np.arange(2, 10, dtype = np.float)
print (arr)
print ()"Array Data Type :",arr.dtype)
執(zhí)行上面示例代碼,得到以下結(jié)果 -
[ 2. 3. 4. 5. 6. 7. 8. 9.]
Array Data Type : float64
使用linspace()
linspace()函數(shù)將創(chuàng)建具有指定數(shù)量元素的數(shù)組,這些元素將在指定的開始值和結(jié)束值之間平均間隔。 看看下面的例子。
import numpy as np
print (np.linspace(1., 4., 6))
執(zhí)行上面示例代碼,得到以下結(jié)果 -
array([ 1. , 1.6, 2.2, 2.8, 3.4, 4. ])
矩陣是一個(gè)專門的二維數(shù)組,通過操作保留其2-D特性。 它有一些特殊的運(yùn)算符,如*(矩陣乘法)和**(矩陣冪值)。 看看下面的例子。
import numpy as np
print (np.matrix('1 2; 3 4'))
執(zhí)行上面示例代碼,得到以下結(jié)果 -
matrix([[1, 2],
[3, 4]])
矩陣的共軛轉(zhuǎn)置
此功能返回自我的(復(fù)數(shù))共軛轉(zhuǎn)置。 看看下面的例子。
import numpy as np
mat = np.matrix('1 2; 3 4')
print (mat.H)
執(zhí)行上面示例代碼,得到以下結(jié)果 -
matrix([[1, 3],
[2, 4]])
矩陣的轉(zhuǎn)置
此功能返回自身的轉(zhuǎn)置??纯聪旅娴睦?。
import numpy as np
mat = np.matrix('1 2; 3 4')
print (mat.T)
執(zhí)行上面示例代碼,得到以下結(jié)果 -
matrix([[1, 3],
[2, 4]])
當(dāng)轉(zhuǎn)置一個(gè)矩陣時(shí),我們創(chuàng)建一個(gè)新的矩陣,其行是原始的列。 另一方面,共軛轉(zhuǎn)置為每個(gè)矩陣元素交換行和列索引。 矩陣的逆矩陣是一個(gè)矩陣,如果與原始矩陣相乘,則產(chǎn)生一個(gè)單位矩陣。