什么是用于处理非常大的矩阵(例如数百万行/列)的优秀

Python库,包括在矩阵生命的任何阶段添加行或列的能力?

我查看过pytables和h5py,但是一旦创建了矩阵,它们都不支持添加或删除行或列.

我能找到的另一件事是these questions中提到的numpy / scipy中的稀疏矩阵功能.但是,添加/删除行和列的能力似乎可能但是官方不支持和有点hacky,所以我担心性能会真正的数据集是可怕的.此外,它包括几个不同的稀疏矩阵实现,所以我很困惑哪一个是最好的(例如lil_matrix vs csc_matrix vs csr_matrix).

最佳答案 如果您的矩阵是稀疏的,您可以添加或删除行或列,而不用使用scipy.sparse进行操作.如果要删除列(进行列切片),则应该使用csc_matrix,而csr_matrix应该用于有效的行切片.通常使用coo_matrix类型创建稀疏矩阵很方便,您可以在其中为每个非零条目指定行,列和数据:

m = coo_matrix((data, (row, col)), shape=(nrow, ncol))

m = m.to_csr()[rows_to_keep, :]

m = m.to_csc()[:, cols_to_keep]

其中rows_to_keep可以是列表或具有要保留的索引的1-D数组.

如果需要密集矩阵,可以使用numpy.memmap()数组.要创建一个,你可以做:

a = np.memmap('test.memmap', dtype='float64', mode='w+', shape=(1000, 1000))

a.fill(100.)

要阅读一个你可以做的:

a = np.memmap('a.memmap', dtype='float64', mode='r+', shape=(1000, 1000))

如果要删除或添加行和列,则必须创建第二个memmap数组,然后从原始列分配所需的列:

b = np.memmap('b.memmap', dtype='float64', mode='w+', shape=(3, 1000))

b = a[[0, 99, 199], :]

这将在b中保存所有列的第一行,第100行和第200行.

python矩阵处理库_用于处理非常大的矩阵的Python库相关推荐

  1. python 三维地球库_用于GIS(地理信息系统)和三维可视化制图的Python库

    前言 Python库是GIS中的终极扩展,因为它允许您增强其核心功能. 通过使用Python库,您可以摆脱GIS的束缚,而深入研究一些严肃的数据科学. Python中有200多个标准库.但是也有成千上 ...

  2. python大神作品_掌握了这24个顶级Python库,你就是大神!

    全文共11815字,预计学习时长24分钟 Python有以下三个特点: · 易用性和灵活性 · 全行业高接受度:Python无疑是业界最流行的数据科学语言 · 用于数据科学的Python库的数量优势 ...

  3. python动态交互式图表库_五个创建交互式图表的Python库

    数据可视化专家Andy Kirk说过,数据可视化分为两类:探索性可视化图表和解释性可视化图表.解释性可视化图表的目标是进行描述--它们是根据对事物表面的关键线索而被仔细构造出来的. 另一方面,探索性可 ...

  4. python全栈测试开发_用于全栈自动化测试的最佳Python工具

    我知道大多数测试人员会说Java是他们创建自动化测试的首选语言. 但是我最喜欢的是Python.为什么?为什么是Python ? Al Sweigart,<自动化那些无聊的东西>的作者,P ...

  5. python中集合运算_入门 | 一文带你了解Python集合与基本的集合运算

    原标题:入门 | 一文带你了解Python集合与基本的集合运算 选自DataCamp 作者:Michael Galarnyk 参与:Geek Ai.思源 一般我们熟悉 Python 中列表.元组及字典 ...

  6. python协同过滤算法_协同过滤(ALS)的原理及Python实现

    提到ALS相信大家应该都不会觉得陌生(不陌生你点进来干嘛[捂脸]),它是协同过滤的一种,并被集成到Spark的Mllib库中.本文就ALS的基本原理进行讲解,并手把手.肩并肩地带您实现这一算法. 完整 ...

  7. python 进程生命周期_计算客户生命周期价值的python解决方案

    python 进程生命周期 By Lisa Cohen, Zhining Deng, Shijing Fang, and Ron Sielinski 由丽莎·科恩,志宁邓,石井方和罗恩Sielinsk ...

  8. 吃鸡是python写的吗_吃鸡游戏也是用Python写的?学了Python,120个月年终奖向你招手~...

    原标题:吃鸡游戏也是用Python写的?学了Python,120个月年终奖向你招手~ 吃鸡游戏火爆全球,已经把腾讯的<王者荣耀>都比下去了,有传言,腾讯给"王者荣耀"开 ...

  9. 用python画奥迪标志_不知道不 OK!53 个 Python 经典面试题详解

    作者 | Chris 翻译 | 苏本如,责编 | 夕颜 头图 | CSDN付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 以下为译文: 本文列出53个Python面试问题,并且提供了 ...

最新文章

  1. 360导入html没有,IE无法加载到外部CSS样式, 用360浏览器就可以,上CSS引用代码[急]_html/css_WEB-ITnose...
  2. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(定位,显示与隐藏)
  3. Redis命令参考简体中文版
  4. 解惑图数据库!你知道什么是图数据库吗?
  5. 金蝶凭证序时簿在哪_来了!金蝶日常账务处理大全
  6. BufferedWriterTest
  7. Redis 学习---(4)Redis 数据类型
  8. 特斯拉下一代Roadster跑车生产时间再度推迟至2023年
  9. 天池学习赛:工业蒸汽量预测1——数据探索
  10. 3项目估算表_浮动油封生产项目可行性研究报告
  11. (1)数据库和MySql初步认识
  12. 【一分钟知识】七种损失函数
  13. javascript基础案例解析
  14. ROS 教程之navigation: 用程序设定导航目标点
  15. 《游戏学习》HTML5全民飞机大战小游戏实战源码
  16. JS实现复制到剪贴板功能
  17. matlab变电站仿真,基于Matlab Simulink的110kV变电系统建模及故障仿真分析
  18. java程序员自荐信_【程序员英文的自荐信】程序员优秀员工自荐信
  19. 计算机设计大赛软件开发类作品填写模板
  20. matlab中ode的用法,关于matlab 的ode45用法

热门文章

  1. 手把手教你生信分析平台搭建
  2. 合川专升本计算机怎么学升学率,2019年重庆市合川太和中学高考喜报
  3. R语言ggplot2可视化时间序列散点图、X轴和Y轴都是时间信息、使用as.POSIXct函数自定义指定Y轴的时间范围(setting time limits in y axis)
  4. R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象
  5. python使用matplotlib可视化、自定义移除X轴指定轴刻度标签(removing specific axis ticks in matplotlib x axis)
  6. Pandas中xs()函数索引复合索引数据的不同切面数据(索引复合索引中需要的数据):索引列复合索引中的一个切面、索引行复合索引中的一个切面
  7. R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告、knitr常用参数
  8. 如何获取数据库中标的所有字段和数据类型?
  9. R语言生存分析寿命表(life table)实战案例:比较两种药物治疗感染患者的生存时间
  10. R双样本t检验(WELCH TWO-SAMPLE T-TEST)