scipy.sparse.

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
屬性:
dtypedtype

矩陣的資料類型

shape2-tuple

取得稀疏矩陣的形狀。

ndimint

維度數量 (永遠是 2)

nnz

儲存值的數量,包含顯式零。

size

儲存值的數量。

T

轉置。

方法

__len__()

Return len(self).

__mul__(other)

asformat(format[, copy])

以傳入的格式返回此陣列/矩陣。

asfptype()

將矩陣向上轉換為浮點格式 (如有必要)

astype(dtype[, casting, copy])

將陣列/矩陣元素轉換為指定的類型。

clear()

conj([copy])

元素級複共軛。

conjtransp()

已棄用:返回共軛轉置。

conjugate([copy])

元素級複共軛。

copy()

返回此陣列/矩陣的副本。

count_nonzero([axis])

非零條目的數量,等同於

diagonal([k])

返回陣列/矩陣的第 k 條對角線。

dot(other)

一般點積

fromkeys(iterable[, value])

使用來自 iterable 的鍵建立新的字典,並將值設定為 value。

get(key[, default])

這提供了具有類型檢查的 dict.get 方法功能

getH()

返回此矩陣的 Hermitian 轉置。

get_shape()

取得稀疏矩陣的形狀。

getcol(j)

返回矩陣第 j 行的副本,作為一個 (m x 1) 稀疏矩陣 (行向量)。

getformat()

矩陣儲存格式

getmaxprint()

列印時要顯示的最大元素數量。

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__