返回顶部
首页 > 资讯 > 精选 >scipy稀疏数组dok_array如何使用
  • 938
分享到

scipy稀疏数组dok_array如何使用

2023-07-05 05:07:08 938人浏览 独家记忆
摘要

这篇文章主要介绍“scipy稀疏数组dok_array如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“scipy稀疏数组dok_array如何使用”文章能帮助大家解决问题。dok_arrayd

这篇文章主要介绍“scipy稀疏数组dok_array如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“scipy稀疏数组dok_array如何使用”文章能帮助大家解决问题。

dok_array

dok数组就是通过键值对存储的数组,其中key就是矩阵中的坐标元组,value就是对应坐标中的值,是最容易理解的稀疏矩阵存储方案。

>>> import numpy as np>>> from scipy.sparse import dok_array>>> dok = dok_array((5, 5), dtype=np.float32)>>> for i in range(5):...     for j in range(5):...         dok[i, j] = i + j    # Update element...>>> print(dok.toarray())[[0. 1. 2. 3. 4.] [1. 2. 3. 4. 5.] [2. 3. 4. 5. 6.] [3. 4. 5. 6. 7.] [4. 5. 6. 7. 8.]]

得到结果为

scipy稀疏数组dok_array如何使用

从上面的代码来看,其等价形式如下,唯一的区别是,对于一个全0的矩阵,array必须将所有0都存储下来,而dok数组可以不存储任何有效值。但对于全都不是0的矩阵,dok除了存储矩阵的值之外,还要将矩阵的坐标重新写一边,相当于数据量翻了三倍。

>>> Z = np.zeros([5,5])>>> for i in range(5):...     for j in range(5):...         Z[i, j] = i + j    # Update element...>>> print(Z)[[0. 1. 2. 3. 4.] [1. 2. 3. 4. 5.] [2. 3. 4. 5. 6.] [3. 4. 5. 6. 7.] [4. 5. 6. 7. 8.]]

初始化方案

dok仅支持三种初始化方案:

  • dok_array(D) D是一个稀疏数组或2 × D 2\times D2×D数组

  • dok_array(S) S是另一种稀疏数组。

  • dok_array((M, N),dtype='d') 创建一个shape为( M , N ) (M, N)(M,N)的空数组,dtype为数据类型

内置方法

稀疏数组在计算上并不便捷,所以dok_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

关于“scipy稀疏数组dok_array如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: scipy稀疏数组dok_array如何使用

本文链接: https://lsjlt.com/news/349785.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • scipy稀疏数组dok_array如何使用
    这篇文章主要介绍“scipy稀疏数组dok_array如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“scipy稀疏数组dok_array如何使用”文章能帮助大家解决问题。dok_arrayd...
    99+
    2023-07-05
  • scipy稀疏数组dok_array的具体使用
    dok_array dok数组就是通过键值对存储的数组,其中key就是矩阵中的坐标元组,value就是对应坐标中的值,是最容易理解的稀疏矩阵存储方案。 >>> im...
    99+
    2023-02-23
    scipy稀疏数组dok_array scipy dok_array
  • scipy稀疏数组coo_array如何实现
    这篇文章主要讲解了“scipy稀疏数组coo_array如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“scipy稀疏数组coo_array如何实现”吧!coo_arraycoo也被称...
    99+
    2023-07-05
  • Scipy稀疏矩阵bsr_array如何使用
    本篇内容主要讲解“Scipy稀疏矩阵bsr_array如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Scipy稀疏矩阵bsr_array如何使用”吧!基本原理bsr,即Block Spa...
    99+
    2023-07-05
  • scipy稀疏数组coo_array的实现
    目录coo_array初始化方案内置方法coo_array coo也被称为ijv,是一种三元组格式,对于矩阵中第i ii行第j jj列的值v vv,将其存储为( i , j , v ...
    99+
    2023-02-21
    scipy稀疏数组coo_array scipy稀疏数组
  • Scipy稀疏矩阵bsr_array的使用
    目录基本原理初始化内置方法基本原理 bsr,即Block Sparse Row,bsr_array即块稀疏行矩阵,顾名思义就是将稀疏矩阵分割成一个个非0的子块,然后对这些子块进行存储...
    99+
    2023-02-21
    Scipy稀疏矩阵bsr_array Scipy稀疏矩阵 Scipy bsr_array
  • python scipy 稀疏矩阵的使用说明
    稀疏矩阵格式 coo_matrix coo_matrix 是最简单的稀疏矩阵存储方式,采用三元组(row, col, data)(或称为ijv format)的形式来存储矩阵中非零元素的信息。 在实际使用中,一般...
    99+
    2022-06-02
    python scipy 稀疏矩阵
  • Java如何实现二维数组与稀疏数组互转
    这篇文章主要介绍了Java如何实现二维数组与稀疏数组互转的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现二维数组与稀疏数组互转文章都会有所收获,下面我们一起来看看吧。二维数组二维数组本质上是以数组...
    99+
    2023-06-29
  • Java编程内功之怎么用稀疏数组
    这篇文章主要讲解了“Java编程内功之怎么用稀疏数组”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java编程内功之怎么用稀疏数组”吧! 基本介绍当一个数组中大部分元素为0,或者为...
    99+
    2023-06-15
  • Java数据结构之稀疏数组的实现与应用
    目录1.稀疏数组引入1.1 使用场景1.2 稀疏数组简介2.稀疏数组的实现2.1 案例概述2.2 思路分析2.3 代码实现1.稀疏数组引入 1.1 使用场景 笔者在课程设计中曾写过一...
    99+
    2022-11-13
    Java 数据结构 稀疏数组 Java 稀疏数组
  • java如何使用数组
    这篇文章主要为大家展示了“java如何使用数组”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java如何使用数组”这篇文章吧。使用简单数组(1)创建一个名为T0...
    99+
    2024-04-02
  • VB.NET如何使用数组
    这篇文章给大家分享的是有关VB.NET如何使用数组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VB.NET中有一个比较重要的部分,那就是数组的应用。在实际编程中,它通常都会是一个代码程序中重要的组成部分。除了使...
    99+
    2023-06-17
  • PHP如何使用数组
    这篇文章主要介绍了PHP如何使用数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数组的使用//查找:通过键名找到对应的键值$arr1 = ['a...
    99+
    2023-06-03
  • PostgreSQL中如何使用数组
    PostgreSQL中如何使用数组,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。这种情况几星期前在Heap出现了。我们在Heap为每个跟踪...
    99+
    2024-04-02
  • PHP中如何使用数组函数
    PHP中如何使用数组函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。array_multisort()对多个数组或多维数组进行排序可以用来一次对多个数组进行排序或者根据某一维...
    99+
    2023-06-17
  • 如何使用 PHP 的数组函数?
    php 数组函数提供各种操作,包括添加、删除、搜索、合并和转换元素。它们简化了数据操作,提高了代码效率。例如,array_push() 添加元素到末尾,array_pop() 删除最后一...
    99+
    2024-04-20
    php 数组函数 键值对
  • js如何对数组使用Math.min()
    这篇文章主要为大家展示了“js如何对数组使用Math.min()”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何对数组使用Math.min()”这篇文章吧...
    99+
    2024-04-02
  • js如何对数组使用Math.max()
    这篇文章主要为大家展示了“js如何对数组使用Math.max()”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何对数组使用Math.max()”这篇文章吧...
    99+
    2024-04-02
  • 使用JavaScript如何删除数组
    本篇文章为大家展示了使用JavaScript如何删除数组,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JavaScript数组删除的方法:1、按索引删除,代码为【someArray.shift()】...
    99+
    2023-06-14
  • JavaScript如何使用数组方法
    小编给大家分享一下JavaScript如何使用数组方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!简介说明方法简介join():用指定的分隔符将数组每一项拼接为字符串push():向数组的末尾添加新元素pop():删除数...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作