lil_array#
- class scipy.sparse.lil_array(arg1, shape=None, dtype=None, copy=False, *, maxprint=None)[原始碼]#
基於列的列表 (LIst of Lists) 稀疏陣列。
這是一種用於增量建構稀疏陣列的結構。請注意,在最壞的情況下,插入單個項目可能需要線性時間;為了有效率地建構陣列,請確保項目已按索引(每列)預先排序。
- 可以透過幾種方式實例化此類別
- lil_array(D)
其中 D 是 2 維 ndarray
- lil_array(S)
與另一個稀疏陣列或矩陣 S(等效於 S.tolil())
- lil_array((M, N), [dtype])
建構形狀為 (M, N) 的空陣列,dtype 是可選的,預設為 dtype=’d’。
Notes
稀疏陣列可用於算術運算:它們支援加法、減法、乘法、除法和矩陣冪。
- LIL 格式的優點
支援彈性切片
對陣列稀疏結構的變更很有效率
- LIL 格式的缺點
算術運算 LIL + LIL 速度慢(請考慮 CSR 或 CSC)
列切片速度慢(請考慮 CSC)
矩陣向量乘積速度慢(請考慮 CSR 或 CSC)
- 預期用途
LIL 是建構稀疏陣列的便捷格式
一旦建構了陣列,請轉換為 CSR 或 CSC 格式以進行快速算術和矩陣向量運算
在建構大型陣列時,請考慮使用 COO 格式
- 資料結構
列陣列 (
self.rows
),其中每一列都是非零元素的列索引的排序列表。對應的非零值以類似的方式儲存在
self.data
中。
- 屬性:
方法
__len__
()asformat
(format[, copy])以傳遞的格式傳回此陣列/矩陣。
astype
(dtype[, casting, copy])將陣列/矩陣元素轉換為指定的類型。
conj
([copy])元素級複數共軛。
conjugate
([copy])元素級複數共軛。
copy
()傳回此陣列/矩陣的副本。
count_nonzero
([axis])非零條目的數量,等效於
diagonal
([k])傳回陣列/矩陣的第 k 條對角線。
dot
(other)一般點積
getrow
(i)傳回第 'i' 列的副本。
getrowview
(i)傳回第 'i' 列的檢視(不複製)。
maximum
(other)此陣列/矩陣與另一個陣列/矩陣之間的元素級最大值。
mean
([axis, dtype, out])計算沿指定軸的算術平均值。
minimum
(other)此陣列/矩陣與另一個陣列/矩陣之間的元素級最小值。
multiply
(other)與另一個陣列/矩陣的逐點乘法。
nonzero
()陣列/矩陣的非零索引。
power
(n[, dtype])元素級冪。
reshape
(self, shape[, order, copy])為稀疏陣列/矩陣賦予新形狀而不變更其資料。
resize
(*shape)就地將陣列/矩陣調整為
shape
給定的維度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])反轉稀疏陣列/矩陣的維度。
__getitem__
__mul__