numpy中matrix矩阵对象有什么用
这篇文章主要为大家展示了“ numpy中matrix矩阵对象有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ numpy中matrix矩阵对象有什么用”这篇文章吧。
1.简介
Matrix类型继承于ndarray类型,因此含有ndarray的所有数据属性和方法。Matrix类型与ndarray类型有六个重要的不同点,当你当Matrix对象当arrays操作时,这些不同点会导致非预期的结果。
1)Matrix对象可以使用一个Matlab风格的字符串来创建,也就是一个以空格分隔列,以分号分隔行的字符串。
2)Matrix对象总是二维的。这包含有深远的影响,比如m.ravel()的返回值是二维的,成员选择的返回值也是二维的,因此序列的行为与array会有本质的不同。
3)Matrix类型的乘法覆盖了array的乘法,使用的是矩阵的乘法运算。当你接收矩阵的返回值的时候,确保你已经理解这些函数的含义。特别地,事实上函数asanyarray(m)会返回一个matrix,如果m是一个matrix。
4)Matrix类型的幂运算也覆盖了之前的幂运算,使用矩阵的幂。根据这个事实,再提醒一下,如果使用一个矩阵的幂作为参数调用asanarray(…)跟上面的相同。
5)矩阵默认的array_priority是10.0,因而ndarray和matrix对象混合的运算总是返回矩阵。
6)矩阵有几个特有的属性使得计算更加容易,这些属性有:
(a) .T -- 返回自身的转置
(b) .H -- 返回自身的共轭转置
(c) .I -- 返回自身的逆矩阵
(d) .A -- 返回自身数据的2维数组的一个视图(没有做任何的拷贝)
Matrix对象也可以使用其它的Matrix对象,字符串,或者其它的可以转换为一个ndarray的参数来构造。另外,在NumPy里,“mat”是“matrix”的一个别名。
1)通过字符串创建矩阵
>>> a=np.mat('1 2 3; 4 5 3') >>> print (a*a.T).I[[ 0.2924 -0.1345] [-0.1345 0.0819]]
2)通过嵌套列表创建矩阵
>>> mp.mat([[1,5,10],[1.0,3,4j]]) matrix([[ 1.+0.j, 5.+0.j, 10.+0.j], [ 1.+0.j, 3.+0.j, 0.+4.j]])
3)通过数组创建矩阵
>>> np.mat(random.rand(3,3)).T matrix([[ 0.7699, 0.7922, 0.3294], [ 0.2792, 0.0101, 0.9219], [ 0.3398, 0.7571, 0.8197]])
2.属性与描述
name | descripe |
---|---|
A | Return self as an ndarray object. |
A1 | Return self as a flattened ndarray. |
H | Returns the (complex) conjugate transpose of self. |
I | Returns the (multiplicative) inverse of invertible self. |
T | Returns the transpose of the matrix. |
base | Base object if memory is from some other object. |
ctypes | An object to simplify the interaction of the array with the ctypes module. |
data | Python buffer object pointing to the start of the array’s data. |
dtype | Data-type of the array’s elements. |
flags | Information about the memory layout of the array. |
flat | A 1-D iterator over the array. |
imag | The imaginary part of the array. |
itemsize | Length of one array element in bytes. |
nbytes | Total bytes consumed by the elements of the array. |
ndim | Number of array dimensions. |
real | The real part of the array. |
shape | Tuple of array dimensions. |
size | Number of elements in the array. |
strides | Tuple of bytes to step in each dimension when traversing an array. |
3.方法与描述
name | describe |
---|---|
all([axis, out]) | Test whether all matrix elements along a given axis evaluate to True. |
any([axis, out]) | Test whether any array element along a given axis evaluates to True. |
argmax([axis, out]) | Indexes of the maximum values along an axis. |
argmin([axis, out]) | Indexes of the minimum values along an axis. |
argpartition(kth[, axis, kind, order]) | Returns the indices that would partition this array. |
argsort([axis, kind, order]) | Returns the indices that would sort this array. |
astype(dtype[, order, casting, subok, copy]) | Copy of the array, cast to a specified type. |
byteswap(inplace) | Swap the bytes of the array elements |
choose(choices[, out, mode]) | Use an index array to construct a new array from a set of choices. |
clip([min, max, out]) | Return an array whose values are limited to [min, max]. |
compress(condition[, axis, out]) | Return selected slices of this array along given axis. |
conj() | Complex-conjugate all elements. |
conjugate() | Return the complex conjugate, element-wise. |
copy([order]) | Return a copy of the array. |
cumprod([axis, dtype, out]) | Return the cumulative product of the elements along the given axis. |
cumsum([axis, dtype, out]) | Return the cumulative sum of the elements along the given axis. |
diagonal([offset, axis1, axis2]) | Return specified diagonals. |
dot(b[, out]) | Dot product of two arrays. |
dump(file) | Dump a pickle of the array to the specified file. |
dumps() | Returns the pickle of the array as a string. |
fill(value) | Fill the array with a scalar value. |
flatten([order]) | Return a flattened copy of the matrix. |
getA() | Return self as an ndarray object. |
getA1() | Return self as a flattened ndarray. |
getH() | Returns the (complex) conjugate transpose of self. |
getI() | Returns the (multiplicative) inverse of invertible self. |
getT() | Returns the transpose of the matrix. |
getfield(dtype[, offset]) | Returns a field of the given array as a certain type. |
item(*args) | Copy an element of an array to a standard Python scalar and return it. |
itemset(*args) | Insert scalar into an array (scalar is cast to array’s dtype, if possible) |
max([axis, out]) | Return the maximum value along an axis. |
mean([axis, dtype, out]) | Returns the average of the matrix elements along the given axis. |
min([axis, out]) | Return the minimum value along an axis. |
newbyteorder([new_order]) | Return the array with the same data viewed with a different byte order. |
nonzero() | Return the indices of the elements that are non-zero. |
partition(kth[, axis, kind, order]) | Rearranges the elements in the array in such a way that value of the element in kth position prod([axis, dtype, out]) Return the product of the array elements over the given axis. |
ptp([axis, out]) | Peak-to-peak (maximum - minimum) value along the given axis. |
put(indices, values[, mode]) | Set a.flat[n] = values[n] for all n in indices. |
ravel([order]) | Return a flattened matrix. |
repeat(repeats[, axis]) | Repeat elements of an array. |
reshape(shape[, order]) | Returns an array containing the same data with a new shape. |
resize(new_shape[, refcheck]) | Change shape and size of array in-place. |
round([decimals, out]) | Return a with each element rounded to the given number of decimals. |
searchsorted(v[, side, sorter]) | Find indices where elements of v should be inserted in a to maintain order. |
setfield(val, dtype[, offset]) | Put a value into a specified place in a field defined by a data-type. |
setflags([write, align, uic]) | Set array flags WRITEABLE, ALIGNED, and UPDATEIFCOPY, respectively. |
sort([axis, kind, order]) | Sort an array, in-place. |
squeeze([axis]) | Return a possibly reshaped matrix. |
std([axis, dtype, out, ddof]) | Return the standard deviation of the array elements along the given axis. |
sum([axis, dtype, out]) | Returns the sum of the matrix elements, along the given axis. |
swapaxes(axis1, axis2) | Return a view of the array with axis1 and axis2 interchanged. |
take(indices[, axis, out, mode]) | Return an array formed from the elements of a at the given indices. |
tobytes([order]) | Construct Python bytes containing the raw data bytes in the array. |
tofile(fid[, sep, format]) | Write array to a file as text or binary (default). |
tolist() | Return the matrix as a (possibly nested) list. |
tostring([order]) | Construct Python bytes containing the raw data bytes in the array. |
trace([offset, axis1, axis2, dtype, out]) | Return the sum along diagonals of the array. |
transpose(*axes) | Returns a view of the array with axes transposed. |
var([axis, dtype, out, ddof]) | Returns the variance of the matrix elements, along the given axis. |
view([dtype, type]) | New view of array with the same data. |
以上是“ numpy中matrix矩阵对象有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道!
评论