網站首頁 編程語言 正文
coo_array
coo也被稱為ijv,是一種三元組格式,對于矩陣中第i ii行第j jj列的值v vv,將其存儲為( i , j , v ) (i,j,v)(i,j,v)這樣的三元組,即為coo_array的原理。
例如
import numpy as np from scipy.sparse import coo_array row = np.array([0, 3, 1, 0]) col = np.array([0, 3, 1, 2]) data = np.array([4, 5, 7, 9]) coo_array((data, (row, col)), shape=(4, 4)).toarray() print(coo.toarray())
其輸出結果為
但需要注意一點,若行數組和列數組所對應的矩陣坐標發生了重復,那么重復位置處對應的值會累加,
row = np.array([0, 0, 1, 3, 1, 0, 0]) col = np.array([0, 2, 1, 3, 1, 0, 0]) data = np.array([1, 1, 1, 1, 1, 1, 1]) coo = coo_array((data, (row, col)), shape=(4, 4)) print(coo.toarray())
結果為
初始化方案
- coo_array(D) D是一個稀疏數組或2 × D 2\times D2×D數組
- coo_array(S) S是另一種稀疏數組
- coo_array((M, N),dtype='d') 創建一個shape為( M , N ) (M, N)(M,N)的空數組,dtype為數據類型
- coo_array((data, (i,j))) (i, j)是坐標數組,data是數據數組,設新矩陣為a,則a[i[k], j[k]] = data[k]
前三種比較容易理解,下面驗證一下第四種
>>> from scipy.sparse import coo_array >>> import numpy as np >>> data = np.random.rand(3) >>> x = y = np.arange(3).astype(int) >>> coo = coo_array((data,(x,y))) >>> coo.toarray() array([[0.28050236, 0. , 0. ], [0. , 0.59568482, 0. ], [0. , 0. , 0.84392724]])
內置方法
稀疏數組在計算上并不便捷,所以coo_array中內置了下列函數,可以高效地完成計算。
函數 |
expm1 , log1p , sqrt , pow , sign
|
三角函數 |
sin , tan , arcsin , arctan , deg2rad , rad2deg
|
雙曲函數 |
sinh , tanh , arcsinh , arctanh
|
索引 |
getcol , getrow , nonzero , argmax , argmin , max , min
|
舍入 |
ceil , floor , trunc
|
變換 |
conj , conjugate , getH
|
統計 |
count_nonzero , getnnz , mean , sum
|
矩陣 |
diagonal , trace
|
獲取屬性 |
get_shape , getformat
|
計算比較 |
multiply , dot , maximum , minimum
|
轉換 |
asformat , asfptype , astype , toarray , todense
|
轉換 |
tobsr , tocoo , tocsc , tocsr , todia , todok , tolil
|
更改維度 |
set_shape , reshape , resize , transpose
|
排序 |
sort_indices , sorted_indices
|
移除元素 |
eliminate_zeros , prune , sum_duplicates
|
其他 |
copy , check_format , getmaxprint , rint , setdiag
|
原文鏈接:https://tinycool.blog.csdn.net/article/details/128866351
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-05-17 springcloud feign本地微服務之間的相互調用
- 2022-09-25 Stream流水線的實現原理是什么
- 2022-06-07 victoriaMetrics代理性能優化問題解析_數據庫其它
- 2022-10-16 go?swagger生成接口文檔使用教程_Golang
- 2022-06-18 C語言圖文并茂詳解鏈接過程_C 語言
- 2022-09-02 useEffect支持async及await使用方式_React
- 2022-10-31 解讀Python腳本的常見參數獲取和處理方式_python
- 2023-07-02 oracle實現根據字段分組排序,取其第一條數據_oracle
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支