将大型 NumPy 数组写入文件的有效方法

2024-02-18

我目前有一个在 PiCloud 上运行的项目,其中涉及 ODE 求解器的多次迭代。每次迭代都会生成一个约 30 行和 1500 列的 NumPy 数组,每次迭代都会附加到先前结果数组的底部。

通常,我只是让函数返回这些相当大的数组,将它们保存在内存中并一次性处理它们。ExceptPiCloud 对函数可以输出和返回的数据大小有相当严格的限制,以降低传输成本。这很好,但这意味着我必须启动数千个作业,每个作业都在迭代上运行,开销相当大。

看来最好的解决方案是将输出写入文件,然后使用他们拥有的另一个没有传输限制的函数收集文件。

我最好的选择是将其转储到 CSV 文件中吗?我应该在每次迭代中添加到 CSV 文件中,还是将其全部保存在一个数组中直到最后,然后只写入一次?我是否缺少一些非常聪明的东西?


除非有理由使中间文件可供人类阅读,否则请执行以下操作:not使用 CSV,因为这将不可避免地导致精度损失。

最有效的可能是tofile (doc http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tofile.html#numpy.ndarray.tofile),用于在您提前知道数据的所有属性时将文件快速转储到磁盘。

对于独立于平台但特定于 numpy 的保存,您可以使用save (doc http://docs.scipy.org/doc/numpy/reference/generated/numpy.save.html#numpy.save).

如果您需要可移植性,Numpy 和 scipy 还支持各种科学数据格式,例如 HDF5。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将大型 NumPy 数组写入文件的有效方法 的相关文章

  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 如何使用 PrimaryKeyRelatedField 更新多对多关系上的类别

    Django Rest 框架有一个主键相关字段 http www django rest framework org api guide relations primarykeyrelatedfield其中列出了我的 IDmany to m
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 挂起并序列化正在运行的线程

    有谁知道一种机制可以捕获正在运行的线程的状态并将其序列化以进一步恢复 有什么可用于 JVM 的吗 pthread 怎么样 我的主要目标是能够将正在运行的线程迁移到远程计算机 通过该线程的配合 您可以通过该线程支持的任何机制来完成此操作 没有
  • 使用c#将日期插入MySql

    我的 mysql 表中有日期字段 我想通过日期选择器控件插入日期 Windows 窗体 C 如何 当我尝试使用下面的方法时 出现错误 Code DB Insert Orders Convert ToInt32 txtA Text Conve
  • Android/phonegap - 拉伸我的背景图像以适合屏幕

    我尝试过各种不同的方法 但似乎都不起作用 我正在使用内联 CSS 只是想添加一个拉伸到屏幕尺寸的背景 我目前在我的 body 标记中使用以下代码 我的图像是 400 x 300 但需要拉伸到 1200 x 1000 希望有人可以提供帮助 已
  • Apache Apr 和 Apr-util 安装?

    我第一次在 ubuntu 12 04 中安装 Apache 我在链接中查找编译并安装apache http httpd apache org docs 2 4 install html 它说我们应该首先拥有 APR 和 APR util 我
  • 为什么这个性能计数器总是返回零? [复制]

    这个问题在这里已经有答案了 我有这个代码 using PerformanceCounter pfc new PerformanceCounter Processor Processor Time Total return pfc NextV
  • Backbone.js:将视图、集合、模型分离到不同的js文件中,它们无法相互识别

    我使用 Backbone js 创建一个 Web 应用程序 将所有视图 集合和模型写入一个 js 文件 成功了 现在我想将它们分成不同的js文件 就像
  • VBA Excel 文件转换为 CSV,保持 CSV 文件名与原始工作簿相同

    我正在努力寻找一种快速的方法来拯救我的xlsx文件为csv具有相同文件名的文件xlsx文件 就在csv格式 我已经用快捷方式录制了一个宏 但问题是 每当我尝试使用新文件时 它都会保存为与我录制初始宏相同的文件名 即见下文 可能是因为我在代码
  • 如何将数组转换为ARM模板中一个对象的属性?

    我正在寻找一种将数组 例如字符串 转换为一个对象的方法 其中属性是从数组值生成的 用例 我想生成一个tags基于资源名称列表的具有资源链接的对象 我需要这样做 以link App Service资源到一个Application Insigh
  • AWK 比较两个文件,如果匹配,则将新列从第二个文件添加到第一个文件

    我有问题 我想比较两个文件 第一个文件是参考 ABCA4 INHR AMT INHR BTK ONKO1 PAP ONKO2 第二个文件用于比较 3 1 2 T ENG1 ABCA4 ff 3 1 2 T ENG1 ABCA4 gg 5 1
  • HTML5 Canvas 和鼠标事件问题

    我正在尝试创建一个包含客户签名框的 HTML5 页面 这大部分用于平板电脑 这是通过 Canvas 元素和鼠标上的 JavaScript 事件来完成的 问题 1 Y 部分工作完美 但 X 部分仅在我将画布设置为 300 时才工作 如果宽度为
  • 使用 ANTLR 通过 Python 解析一些 Java 代码

    我想在 Python 中使用 ANTLR 构建一个 Java 解析器 我从 ANTLR 存储库下载了语法 Lexer https github com antlr grammars v4 blob master java java Java
  • XNA 中的四元数旋转

    我这样做对吗 显然不是因为否则我不会在这里发布问题 但我正在尝试围绕另一个模型对一个模型进行四元数旋转 假设我有一个具有向量 3 位置和浮动旋转角度的盒模型 我还有一个指向盒子模型的截头锥体模型 其位置可以说距盒子模型 50 个单位 平截头
  • EC2实例克隆

    是否可以克隆 EC2 实例数据以及全部数据 你可以做一个AMI http docs aws amazon com AWSEC2 latest UserGuide AMIs html现有实例 然后使用该实例启动其他实例AMI http doc
  • 在本地测试谷歌地图V3地理位置?

    我正在尝试在我的计算机上测试一些地理定位代码 但我什至无法运行这些示例 虽然它们从文档网站完美运行 但当我尝试从计算机打开 html 文件时 我得到一个空白页面 但我所做的就是尝试检测我的位置 这是代码
  • (新)收到GCM消息,但如何解析?

    我正在使用 新 GCM 它是 Google Play 服务的一部分 它不使用适用于 Android 和服务器的 jar Android 使用 Google Play apk 来注册 接收甚至发送消息 在服务器端 我们与 GCM 通信所需要做
  • 为什么选择 PRG 模式而不是其他模式?

    我需要防止为客户的网站重复提交表单 我们需要用户提供一些表单数据用于订单确认页面 我们对网络服务器使用负载平衡 方法 1 发布 重定向 获取 PRG pattern http en wikipedia org wiki Post Redir
  • 如何在 JavaScript 代码中获取数据属性的值?

    我有下一个html span span 是否可以获取以data 并将其用在JavaScript代码类似于下面的代码 现在我得到null结果 document getElementById the span addEventListener
  • 在 JAX-RS 资源中组合 @Context 和 @RolesAllowed?

    是否可以使用Context http docs oracle com javaee 6 api javax ws rs core Context html注释和允许的角色 https docs oracle com javaee 6 api
  • Valgrind 未显示错误使用 c_str() 的无效内存访问

    想象一下这样的代码 string f string r ab return r int main const char c f c str printf s n c return 0 这段代码可能会崩溃 对吧 因为那个字符串c指向被破坏 但
  • 将大型 NumPy 数组写入文件的有效方法

    我目前有一个在 PiCloud 上运行的项目 其中涉及 ODE 求解器的多次迭代 每次迭代都会生成一个约 30 行和 1500 列的 NumPy 数组 每次迭代都会附加到先前结果数组的底部 通常 我只是让函数返回这些相当大的数组 将它们保存