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

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. 和12岁小同志搞创客开发:检测按键状态的两件法宝
  2. Matlab与线性代数--矩阵的Cholesky分解
  3. sql 去除字段前后空格
  4. 从json到抽取关键词
  5. pytorch attention 注意力
  6. dreamweaver 疑问
  7. hdu-3015 Disharmony Trees---离散化+两个树状数组
  8. 物联网学习之路——物联网通信技术:NBIoT
  9. Ubuntu18.04 测试Azure Kinect DK 安装Azure Kinect传感器SDK
  10. 安卓学习笔记43:初试开源框架Volley
  11. 爬虫10-股票信息定向爬取
  12. mysql中set names_深入理解mysql SET NAMES和mysql(i)_set_charset的区别
  13. 华硕主板装系统蓝屏_华硕台式电脑蓝屏怎么重装系统 华硕台式电脑蓝屏重装系统步骤...
  14. python数据分析09_pandas数据聚合与分组运算
  15. 龙兵智能名片多企业小程序V2.3.3-开源版
  16. Iphone8 plus系统照片为什么电脑打不开 打开heic文件教程
  17. phpwind移动社区APP生成步骤说明
  18. 28岁程序员身家过亿退休,追寻诗和远方:去日本!
  19. 计算机偏置,深度学习中偏置的作用
  20. 仪用放大器与报警电路

热门文章

  1. Nature Method :Rob Knight发布Striped UniFrac算法轻松分析微生物组大数据
  2. R语言ggplot2可视化:可视化饼图分面图并在图中添加数据标签
  3. 解决:Error: Insufficient values in manual scale. 5 needed but only 4 provided.Run `rlang::last_error()
  4. 什么是B/S模式?什么是C/S模式?
  5. Python可视化(matplotlib)在图像中添加文本和标记(Text and Annotation)
  6. python和R对dataframe的分组聚合操作:dplyr、groupby、agg、group_by、nunique、reset_index、rename、summarise、n_distinct
  7. GAN(Generative Adversarial Network,GAN)模型之:InfoGAN、WGAN、DCGAN模型
  8. p值+p-value+p value+显著性+significance
  9. 影像组学视频学习笔记(33)-使用SimpleITK实现医学影像差值、Li‘s have a solution and plan.
  10. KnifeCMSV1.0Beta测试版发布