numpy中array和mat的區別

2021-09-10 18:50:09 字數 937 閱讀 1443

mat()函式與array()函式生成矩陣所需的資料格式有區別

(1) mat()函式中資料可以為字串以分號(;)分割,或者為列表形式以逗號(,)分割。而array()函式中資料只能為後者形式。

如mat()函式生成矩陣時一下兩種方式都正確。

a=numpy.mat('1 3;5 7')

b=numpy.mat('2 4;6 8')

a=numpy.mat([[1,3],[5,7]])

b=numpy.mat([[2,4],[6,8]])

(2) 而array()函式生成矩陣時資料只能為列表形式。

a=numpy.array([[1,3],[5,7]])

b=numpy.array([[2,4],[6,8]])

mat()函式與array()函式生成的矩陣計算方式不同

(1) mat()函式中矩陣的乘積可以使用(星號) * 或 .dot()函式,其結果相同。而矩陣對應位置元素相乘需呼叫numpy.multiply()函式。

(2) array()函式中矩陣的乘積只能使用 .dot()函式。而星號乘 (*)則表示矩陣對應位置元素相乘,與numpy.multiply()函式結果相同。

a = numpy.mat([[1, 3], [5, 7]])

b = numpy.mat([[2, 4], [6, 8]])

c = numpy.array([[1, 3], [5, 7]])

d = numpy.array([[2, 4], [6, 8]])

則 a * b = a.dot(b) = c.dot(d) ,其表示矩陣相乘。

而 numpy.multiply(a, b) = c * d = numpy.multiply(c, d) ,其表示矩陣對應位置元素相乘。

numpy中array和asarray的區別

array和asarray都可以將結構資料轉化為ndarray,但是主要區別就是當資料來源是ndarray時,array仍然會copy出乙個副本,占用新的記憶體,但asarray不會。例子1 import numpy as np example 1 data1 1,1,1 1,1,1 1,1,1 a...

論numpy中matrix 和 array的區別

論numpy中matrix 和 array的區別 csdn部落格 2014年03月07日 16 26 55 numpy matrices必須是2維的,但是 numpy arrays ndarrays 可以是多維的 1d,2d,3d nd matrix是array的乙個小的分支,包含於array。所以...

numpy中matrix 和 array的區別

numpy matrices必須是2維的,但是 numpy arrays ndarrays 可以是多維的 1d,2d,3d nd matrix是array的乙個小的分支,包含於array。所以matrix 擁有array的所有特性。所以 在sklearn 中如果傳入的特徵只有乙個,要使用x.valu...