dok_matrix#
- class scipy.sparse.dok_matrix(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[source]#
基於鍵值字典的稀疏矩陣。
這是一種有效率的結構,用於逐步建構稀疏矩陣。
- 這可以透過幾種方式實例化
- dok_matrix(D)
where D is a 2-D ndarray
- dok_matrix(S)
with another sparse array or matrix S (equivalent to S.todok())
- dok_matrix((M,N), [dtype])
create the matrix with initial shape (M,N) dtype is optional, defaulting to dtype=’d’
說明
稀疏矩陣可以用於算術運算:它們支援加法、減法、乘法、除法和矩陣冪。
允許有效率的 O(1) 存取個別元素。
不允許重複值。
一旦建構完成,可以有效率地轉換為 coo_matrix。
範例
>>> 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__
()Return len(self).
__mul__
(other)asformat
(format[, copy])以傳入的格式返回此陣列/矩陣。
asfptype
()將矩陣向上轉換為浮點格式 (如有必要)
astype
(dtype[, casting, copy])將陣列/矩陣元素轉換為指定的類型。
clear
()conj
([copy])元素級複共軛。
已棄用:返回共軛轉置。
conjugate
([copy])元素級複共軛。
copy
()返回此陣列/矩陣的副本。
count_nonzero
([axis])非零條目的數量,等同於
diagonal
([k])返回陣列/矩陣的第 k 條對角線。
dot
(other)一般點積
fromkeys
(iterable[, value])使用來自 iterable 的鍵建立新的字典,並將值設定為 value。
get
(key[, default])這提供了具有類型檢查的 dict.get 方法功能
getH
()返回此矩陣的 Hermitian 轉置。
取得稀疏矩陣的形狀。
getcol
(j)返回矩陣第 j 行的副本,作為一個 (m x 1) 稀疏矩陣 (行向量)。
矩陣儲存格式
列印時要顯示的最大元素數量。
getnnz
([axis])儲存值的數量,包含顯式零。
getrow
(i)返回矩陣第 i 列的副本,作為一個 (1 x n) 稀疏矩陣 (列向量)。
items
()keys
()maximum
(other)此陣列/矩陣與另一個陣列/矩陣之間的元素級最大值。
mean
([axis, dtype, out])沿著指定的軸計算算術平均值。
minimum
(other)此陣列/矩陣與另一個陣列/矩陣之間的元素級最小值。
multiply
(other)與另一個陣列/矩陣的逐點乘法。
nonzero
()陣列/矩陣的非零索引。
pop
(k[,d])如果找不到鍵,則返回預設值 (如果已給定);否則,引發 KeyError。
popitem
()移除並返回 (鍵, 值) 對,作為一個 2-tuple。
power
(n[, dtype])元素級冪。
reshape
(self, shape[, order, copy])為稀疏陣列/矩陣提供新的形狀,而無需更改其資料。
resize
(*shape)就地調整陣列/矩陣的大小,使其符合
shape
給定的維度set_shape
(shape)就地設定矩陣的形狀
setdefault
(key[, default])如果鍵不在字典中,則插入預設值的鍵。
setdiag
(values[, k])設定陣列/矩陣的對角線或非對角線元素。
sum
([axis, dtype, out])將陣列/矩陣元素沿給定軸加總。
toarray
([order, out])返回此稀疏陣列/矩陣的密集 ndarray 表示形式。
tobsr
([blocksize, copy])將此陣列/矩陣轉換為 Block Sparse Row 格式。
tocoo
([copy])將此陣列/矩陣轉換為 COOrdinate 格式。
tocsc
([copy])將此陣列/矩陣轉換為 Compressed Sparse Column 格式。
tocsr
([copy])將此陣列/矩陣轉換為 Compressed Sparse Row 格式。
todense
([order, out])返回此稀疏矩陣的密集表示形式。
todia
([copy])將此陣列/矩陣轉換為稀疏 DIAgonal 格式。
todok
([copy])將此陣列/矩陣轉換為 Dictionary Of Keys 格式。
tolil
([copy])將此陣列/矩陣轉換為 List of Lists 格式。
trace
([offset])返回沿稀疏陣列/矩陣對角線的總和。
transpose
([axes, copy])反轉稀疏陣列/矩陣的維度。
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()__getitem__