Python中的numpy矩陣運算
numpy中matrix 和 array的區別
Numpy matrices必須是2維的,但是 numpy arrays (ndarrays) 可以是多維的(1D,2D,3D····ND). Matrix是Array的一個小的分支,包含於Array。所以matrix 擁有array的所有特性。
在numpy中matrix的主要優勢是:
(1)相對簡單的乘法運算子號。
例如,a和b是兩個matrices,那麼a*b,就是矩陣積。
>>> import numpy as np
>>> a=np.mat('4 3; 2 1')
>>> b=np.mat('1 2; 3 4' )
>>> a
matrix([[4, 3],
[2, 1]])
>>> b
matrix([[1, 2],
[3, 4]])
>>> a*b
matrix([[13, 20],
[ 5, 8]])
(2)matrix 和 array 都可以通過objects後面加
>>> c=np.array([[4, 3], [2, 1]] )
>>> d=np.array([[1, 2], [3, 4]])
>>> c*d
array([[4, 6],
[6, 4]])
(3)
>>> a**2
matrix([[22, 15],
[10, 7]])
>>> c**2
array([[16, 9],
[ 4, 1]])
因為a是個matrix,所以
(3)numpy中矩陣間的除法運算
>>> a/2
matrix([[2, 1],
[1, 0]])
>>> a/b
matrix([[4, 1],
[0, 0]])
取得是整數
基本運算
import numpy as np
a = np.mat([[-1,2],[2,3]])
b = np.mat([[3,4],[4,5]])
print 'a:\n',a
print 'b:\n',b
print '\n a transpose:\n',a.T #轉置
print '\n a inv:\n',np.linalg.inv(a) # 求逆
print "\n a-b: \n",a-b # a - b,矩陣相減
print "\n a dot b: \n",a*b #2x2矩陣,矩陣相乘
print "\n a/b \n:",b/a # numpy中的除是對矩陣元素展開計算
print "\n a trace:\n",np.trace(a) #求跡
eigval,eigvec = np.linalg.eig(a) #特徵,特徵向量
print "\n a eig value:\n",eigval
print'\n a eig vector:\n',eigvec
a = np.zeros([4,5])
print '\n all zero \n',a
a = np.ones([7,6])
print '\n all one \n',a
a = np.eye(4,7)
print '\n 4x7 diagonal \n',a
a = np.diag(range(5))
print '\n 5x5 diagonal \n',a
a = np.empty((2,3))
print '\n empty \n',a
結果:
a:
[[-1 2]
[ 2 3]]
b:
[[3 4]
[4 5]]
a transpose:
[[-1 2]
[ 2 3]]
a inv:
[[-0.42857143 0.28571429]
[ 0.28571429 0.14285714]]
a-b:
[[-4 -2]
[-2 -2]]
a dot b:
[[ 5 6]
[18 23]]
a/b
: [[-3 2]
[ 2 1]]
a trace:
2
a eig value:
[-1.82842712 3.82842712]
a eig vector:
[[-0.92387953 -0.38268343]
[ 0.38268343 -0.92387953]]
all zero
[[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]]
all one
[[ 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1.]
...,
[ 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1.]]
4x7 diagonal
[[ 1. 0. 0. ..., 0. 0. 0.]
[ 0. 1. 0. ..., 0. 0. 0.]
[ 0. 0. 1. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
5x5 diagonal
[[0 0 0 0 0]
[0 1 0 0 0]
[0 0 2 0 0]
[0 0 0 3 0]
[0 0 0 0 4]]
empty
[[ 1. 0. 0.]
[ 0. 0. 0.]]
注意矩陣除法運算的結果
print "\n a/b \n:",b/a # numpy中的除是對矩陣元素展開計算
相關推薦
python中的矩陣運算
創建 二維 style ron -h courier strong random 轉置 1.numpy的導入和使用 from numpy import *;#導入numpy的庫函數import numpy as np; #這個方式使用numpy的函數時,需要以np.開頭。
python中numpy矩陣的切片操作slicing心得
>>> d = np.array(c) >>> d array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9], [11, 12, 13, 14, 15, 16, 17, 18, 19],
Python中的numpy矩陣運算
numpy中matrix 和 array的區別 Numpy matrices必須是2維的,但是 numpy arrays (ndarrays) 可以是多維的(1D,2D,3D····ND). Matrix是Array的一個小的分支,包含於Array。所以mat
Cris 的 Python 資料分析筆記 03:NumPy 矩陣運算和常用函式(重點)
03. 矩陣運算和常用函式(重點) 文章目錄 03. 矩陣運算和常用函式(重點) 1. numpy 矩陣判斷和計算 1.1 與運算 1.2 或運算 1.3 或運算作為矩陣索引賦值
python中numpy學習
通過 import mat imp 向量 ... replace lan 維數 NumPy的主要對象是同種元素的多維數組。這是一個所有的元素都是一種類型、通過一個正整數元組索引的元素表格(通常是元素是數字)。在NumPy中維度(dimensions)叫做軸(axes),軸的
Python中numpy.apply_along_axis()函數的用法
lib ast view lin 分享 ocs func 作用 是我 numpy.apply_along_axis(func, axis, arr, *args, **kwargs): 必選參數:func,axis,arr。其中func是我們自定義的一個函數,函數func(
python中numpy計算數組的行列式numpy.linalg.det()
shape array dimens arr style 數組 -name ons github numpy.linalg.det numpy.linalg.det(a)[source] 計算任何一個數組a的行列式,但是這裏要求數組的最後兩個維度必須是方陣。 參數:
Python中的三元運算
div center 否則 align 三目運算 body post 如果 pytho Python中的三元運算 三元運算又稱三目運算。 B=1 If B==1: a=123 else : a=456 上面程序等價於: B=1 a=123 if B==1 e
Python中的分數運算
img 分享 windows In 分數 format user 操作 nbsp Python中的分數運算,在Python標準庫fractions中的Fraction對象支持分數運算。具體操作如下: 在windows下,通過cmd進到dos shell,輸入python3進
Python中的邏輯運算
邏輯運算 not 3.0 情況下 優先 none pytho 其他 結合 1, 在沒有()的情況下not 優先級高於 and,and優先級高於or,即優先級關系為( )>not>and>or,同一優先級從左往右計算。 () > not > an
Learing-Python【3】:Python中的基本運算符
連接 鏈式 優先 bubuko 圖片 比較運算 我只 還需要 其中 一、算數運算 二、比較(關系)運算 比較運算只能在同類型之間進行,其中 int 與 float 同屬於數字類型 三、賦值運算 1、增量賦值 2、鏈式賦值
python中numpy.zeros(np.zeros)的使用方法
用法:zeros(shape, dtype=float, order='C') 返回:返回來一個給定形狀和型別的用0填充的陣列; 引數:shape:形狀 dtype:資料型別,可選引數,預設numpy.float64 dtype型別: t ,位域,如t4代表4位 b,布林值,true o
Python中Numpy模組的使用
目錄 NumPy ndarray物件 Numpy資料型別 Numpy陣列屬性 NumPy NumPy(Numerical Python) 是 Python 的一個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。Nupmy可用來儲存和處
Python 中的位運算(部分)
真值表: >>> 1 & 1 1 >>> 1 & 0 0 >>> 0 & 1 0 >>> 0 & 0 0 >>> 1 | 1 1 >>> 1 |
Python中Numpy(2,numpy的基本操作(級聯,維度轉換,切分,副本))
1. ndarray的基本操作 # 1.索引與切片 和列表的是一個道理 n2 = np.arange(0,10,1) print(n2) print(n2[::-1]) #反轉 print(n2[::2]) #按步長取資料 #2. 變形 使用reshape函式,注意引數是一個tupl
在C中實現矩陣運算
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Python中陣列矩陣的翻轉(翻轉180度,向左翻轉90度,向右翻轉90度)
Python中陣列矩陣的翻轉(翻轉180度,向左翻轉90度,向右翻轉90度) 轉載請表明原處:https://blog.csdn.net/kane7csdn/article/details/83928848 先定義陣列: a = np.array(([1, 2, 3], [4, 5,
Python中numpy的統計函式
Python中numpy的統計函式 axis = 0 / 1 / None 0代表column 1代表row None不加以區分 函式 含義 sum(a, axis=None) 根據
Python中numpy的隨機數函式
Python中numpy的隨機數函式 NumPy的random子庫 np.random.* 函式 含義 rand(d0,d1,..,dn) 根據d0‐dn建立d0維隨機數陣列,浮
Python中numpy庫入門
Python中numpy Numpy是一個開源的Python科學計算基礎庫 以下學習自中國大學MOOC 嵩天 《Python資料分析與展示》 一.Numpy庫入門 1.Numpy的引入 import numpy as np 使用別名可以縮短在程式中匯入nump