scipy.sparse.

dok_array#

class scipy.sparse.dok_array(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[原始碼]#

基於鍵的字典的稀疏陣列。

這是一種有效率的結構,用於以遞增方式建構稀疏陣列。

這可以通過幾種方式實例化
dok_array(D)

其中 D 是一個 2-D ndarray

dok_array(S)

與另一個稀疏陣列或矩陣 S (等效於 S.todok())

dok_array((M,N), [dtype])

建立具有初始形狀 (M,N) 的陣列,dtype 是可選的,預設為 dtype=’d’

註解

稀疏陣列可用於算術運算:它們支援加法、減法、乘法、除法和矩陣冪。

  • 允許有效率的 O(1) 單獨元素存取。

  • 不允許重複項。

  • 一旦建構完成,可以有效率地轉換為 coo_array。

範例

>>> import numpy as np
>>> from scipy.sparse import dok_array
>>> S = dok_array((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__()

傳回 len(self)。

asformat(format[, copy])

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

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 方法功能

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 給定的維度

setdefault(key[, default])

如果鍵不在字典中,則插入具有預設值的鍵。

setdiag(values[, 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])

反轉稀疏陣列/矩陣的維度。

update([E, ]**F)

如果 E 存在且具有 .keys() 方法,則執行:for k in E: D[k] = E[k] 如果 E 存在且缺少 .keys() 方法,則執行:for k, v in E: D[k] = v 在任一情況下,接著執行:for k in F: D[k] = F[k]

values()

__getitem__

__mul__