scipy.sparse.dok_matrix¶
- class scipy.sparse.dok_matrix(arg1, shape=None, dtype=None, copy=False)[源代码]¶
基于稀疏矩阵的键字典。
这是一种用于增量构造稀疏矩阵的有效结构。
- 这可以通过几种方式实例化:
- DOK_矩阵(D)
具有稠密的矩阵,D
- DOK_矩阵(S)
具有稀疏矩阵S
- DOK_矩阵((M,N), [数据类型] )
使用初始形状(M,N)创建矩阵dtype是可选的,默认为dtype=‘d’
注意事项
稀疏矩阵可用于算术运算:它们支持加、减、乘、除和矩阵幂。
允许对单个元素进行高效的O(1)访问。不允许重复。一旦构造就可以有效地转换成COO_矩阵。
示例
>>> import numpy as np >>> from scipy.sparse import dok_matrix >>> S = dok_matrix((5, 5), dtype=np.float32) >>> for i in range(5): ... for j in range(5): ... S[i, j] = i + j # Update element
方法:
__len__
\()返回镜头(自身)。
__mul__
\(其他)解释其他并调用以下任一
asformat
\(格式[, copy] )以传递的格式返回此矩阵。
asfptype
\()将矩阵向上转换为浮点格式(如有必要)
astype
\(dtype[, casting, copy] )将矩阵元素强制转换为指定类型。
clear
\()conj
\([copy] )元素复数共轭。
conjtransp
\()返回共轭转置。
conjugate
\([copy] )元素复数共轭。
copy
\()返回此矩阵的副本。
count_nonzero
\()非零条目数,相当于
diagonal
\([k] )返回矩阵的第k条对角线。
dot
\(其他)普通点积
fromkeys
\(可迭代[, value] )创建一个新字典,其中关键字来自可迭代,值设置为Value。
get
\(密钥[, default] )这重写了dic.get方法,提供了类型检查,但在其他方面提供了等效的功能。
getH
\()返回此矩阵的厄米转置。
get_shape
\()获得矩阵的形状。
getcol
\(J)以(M X 1)稀疏矩阵(列向量)的形式返回矩阵第j列的副本。
getformat
\()矩阵表示形式为字符串的格式。
getmaxprint
\()打印时显示的最大元素数。
getnnz
\([axis] )存储值的数量,包括显式零。
getrow
\(i)以(1 X N)稀疏矩阵(行向量)的形式返回矩阵第i行的副本。
items
\()keys
\()maximum
\(其他)此矩阵与另一个矩阵之间的元素最大值。
mean
\([axis, dtype, out] )计算沿指定轴的算术平均值。
minimum
\(其他)此矩阵与另一个矩阵之间的元素最小值。
multiply
\(其他)另一个矩阵的逐点乘法
nonzero
\()非零折射率
pop
\(密钥[, default] )如果未找到密钥,则返回默认值(如果给定),否则引发KeyError
popitem
\(/)删除(键、值)对并将其作为2元组返回。
power
\(n[, dtype] )以元素为基础的力量。
reshape
\(自身,形状[, order, copy] )在不更改稀疏矩阵数据的情况下为其赋予新形状。
resize
\(*形状)就地调整矩阵大小至给定的尺寸
shape
set_shape
\(形状)看见 reshape 。
setdefault
\(密钥[, default] )如果Key不在字典中,则插入值为Default的Key。
setdiag
\(值[, k] )设置阵列的对角或非对角元素。
sum
\([axis, dtype, out] )对给定轴上的矩阵元素求和。
toarray
\([order, out] )返回此矩阵的密集ndarray表示。
tobsr
\([blocksize, copy] )将此矩阵转换为挡路稀疏行格式。
tocoo
\([copy] )将此矩阵转换为坐标格式。
tocsc
\([copy] )将此矩阵转换为压缩的稀疏列格式。
tocsr
\([copy] )将此矩阵转换为压缩的稀疏行格式。
todense
\([order, out] )返回此矩阵的密集矩阵表示形式。
todia
\([copy] )将此矩阵转换为稀疏对角线格式。
todok
\([copy] )将此矩阵转换为键字典格式。
tolil
\([copy] )将此矩阵转换为列表列表格式。
trace
\([offset] )返回稀疏矩阵沿对角线的总和。
transpose
\([axes, copy] )反转稀疏矩阵的维数。
如果E存在并且具有.keys()方法,则执行以下操作:for k in E:d [k] =E [k] 如果E存在并且缺少.keys()方法,则会这样做:对于k,E:d中的v [k] =v在任何一种情况下,后跟:表示F:D中的k [k] =F [k]
values
\()__getitem__