天天看點

Python numpy矩陣處理運算工具用法彙總

numpy是用于處理矩陣運算非常好的工具。執行效率高,因為其底層是用的是C語句

使用numpy,需要将資料轉換成numpy能識别的矩陣格式。

基本用法:

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

名稱描述

  • object數組或嵌套的數列
  • dtype數組元素的資料類型,可選,例如:int64,int16,int32,float64等,位數越高,精度越高,但也更耗記憶體。
  • copy對象是否需要複制,可選
  • order建立數組的樣式,C為行方向,F為列方向,A為任意方向(預設)
  • subok預設傳回一個與基類類型一緻的數組
  • ndmin指定生成數組的最小次元。幾維數組,預設0維數組

建立numpy矩陣的其他形式

  • np.zeros((3,4)):建立3行4列值都為0矩陣
  • np.ones((3,4)):建立3行4列值都為1矩陣
  • np.random.random((3,4)):建立3行4列值為0~1随機數
  • np.arange(1,20,5).shape(3,4):建立3行4列維數組,數值從1到20,步長為5
  • np.arange(5) : 建立1維數組,數值從0至4
  • np.empty((3,4)):建立3行4列值為空的矩陣
  • np.linspace(1,10,10):建立1維數組,開始點為 1 ,終止點為 10,數列個數為 10。即元素共10個.[1,2,3,4,5,6,7,8,9.10]
Python numpy矩陣處理運算工具用法彙總

np.sin(a),即計算該矩陣值的sin結果

np.cos(a)

np.tan(a)

arcsin,arccos,和 arctan 函數傳回給定角度的 sin,cos 和 tan 的反三角函數。

矩陣a,矩陣b

a+b,代表逐一加法

a/b,代表逐一除法

a-b,代表逐一減法

a*b,代表逐一乘積

  • np.dot(a,b),a.dot(b)則代表矩陣乘法
  • np.argmin(a),最小值的索引
  • np.argmax(a),最大值的索引
  • mean[a]平均值
  • A.mean平均值,隻是表達形式不一樣,與老版的average是一樣的功能
  • median(A),中位數,與平均值一樣的數
  • cumsum(A),第兩位數的累加,變成一個一維數組
  • diff(A),每兩個數進行減法,按行,原行-1
  • notzero(A),傳回兩個arrage,表示不為0的索引值
  • sort(A),按行從小到大排序
  • transpose(A),矩陣的反向、向轉等同于A.T,
  • clip(A,3,9),所有小于3的值,變成3,所有大于9的值,變成9

索引

  • A[1]第一行
  • A[1][1]第1行第1列
  • A[1,1]第1行第1列,與上面一樣隻是表達形式不一樣
  • A[2,:]第2行所有的資料
  • A[:,2]第2列所有的資料
  • A[1,1:2]第1行,從第1列到第2列的資料

周遊

for row in A:

print row

預設疊代行數顯示行。

np沒有提供按列疊代,需要用些手段,例如将矩陣進行反轉周遊即可實作

for column in A.T:

print colum

如果要疊代其項目,則A需要轉換成一行序列

for item in A.flag:

print item

另注意A.flatten()傳回的也是一個序列,與flag類似。功能一樣

以上就是本文的全部内容,希望對大家的學習有所幫助。