如何在 PostgreSQL 数据库中存储 NumPy 数组?

2024-02-24

目前,我正在创建 .npz 压缩文件来存储大型 NumPy 数组。因此,每次我需要从文件加载数组时,由于这是一个频繁的过程,我就考虑将 NumPy 数组存储在数据库中。我正在使用 PostgreSQL 数据库。


您可以使用 bytea 列来完成此操作(它可以存储任意二进制文件)。您可以使用 pickle.dumps 将 numpy 数组转换为二进制字符串,然后根据需要插入到 postgres 中。然后,您可以选择该数据并使用 pickle.loads 取回数组。这是对类似问题的回答:https://stackoverflow.com/a/57644761/7386185 https://stackoverflow.com/a/57644761/7386185

根据阵列的大小,您可能需要考虑某种 Blob 存储,例如 Amazon S3。

如果您经常访问此数据并且这是生产环境,您可能需要考虑将此数据保留在内存中。如果您的数组足够大,无法将其在内存中保留太久,那么您应该考虑您的应用程序是否允许批量或缓冲区流式传输数据。

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

如何在 PostgreSQL 数据库中存储 NumPy 数组? 的相关文章

随机推荐

  • 创建 iOS 应用程序 (Xcode) 时,如何关闭自动图标“凝胶”

    有没有办法去掉创建 iPhone 应用程序时自动添加到图标的突出显示 或者我必须在 PS 中手动补偿 Thanks Set UIPrerenderedIcon to YES在你的 Info plist 中 欲了解更多信息 请参阅 信息属性列
  • 将 pandas 数据框中的 datetime64 列拆分为日期和时间列

    如果我有一个数据框 第一列是 datetime64 列 如何将此列拆分为 2 个新列 日期列和时间列 这是到目前为止我的数据和代码 DateTime Actual Consensus Previous 20140110 13 30 00 7
  • R 如何将“-17+3”等简单函数分离为数字,例如“-17”和“3”

    我的数据就像 17 3 2 6 我需要做的是将每个数字分成两个数字 例如 17 3 变为 17 和 3 2 6 分为 2 和 6 通过使用 R 非常感谢 gregexpr http stat ethz ch R manual R devel
  • Fortran:哪种方法可以更快地更改数组的等级? (重塑与指针)

    当我们处理大型数组时 考虑数组的等级和形状变化的成本可能很重要 特别是当它在多个子例程 函数中发生几次时 我问题的主要目的是将数组的排名从第二更改为第一 反之亦然 为此 可以使用 重塑声明 指针变量 下面的代码展示了如何使用指针变量 pro
  • C++中双冒号的全名

    如果我有课 class A public A void print private int value A A value 0 void A print cout lt lt value lt lt endl 最后两行中 符号的完整名称是什
  • 如何使用messagebox输出调试信息

    我正在使用 MessageBox 尝试进行一些手动调试 这就是我所想出的全部 我应该如何使其工作 private void DisplayMessageBoxText MessageBox Show Alert Message 您可以使用写
  • 关于使用遗留代码的建议

    我需要一些关于如何使用遗留代码的建议 不久前 我接到的任务是向报告应用程序添加一些报告 2005 年用 Struts 1 编写的 没什么大不了的 但是代码相当混乱 没有使用Action形式 基本上代码就是一个巨大的action 里面有很多i
  • Dockerfile 中的 Mongorestore

    我想创建一个启动 mongo 服务器并自动从以前的版本恢复的 Docker 映像mongodump启动时 这是我的图像 Dockerfile FROM mongo COPY dump home dump CMD mongorestore h
  • 无法删除 Qt 布局的子布局中的小部件

    我正在使用 Windows 版 Qt 5 5 0 在用于登录和注册的对话框中 我使用 QVBoxLayout 作为对话框的主布局 并将 QGridLayout 添加到 mainLayout 当我单击 注册 按钮时 它将添加太多用于注册的 L
  • 使用 ghc 编译 Haskell 代码时出现专业化警告

    尝试编译时出现以下错误 ghc make O2 Wall fforce recomp 1 of 1 编译主程序 isPrimeSmart hs isPrimeSmart o 规格构造 函数 wa v s2we lid 有两种调用模式 但限制
  • Ngrok:如何打开80端口

    我刚刚在本地计算机上安装了 ngrok 运行 ngrok http 80 照常 但是当我尝试访问80端口时 localhost 80 我收到此错误消息 与 http ngrok io 的连接已成功通过隧道连接到 您的 ngrok 客户端 但
  • 管道成功完成后 Bitbucket Webhook 触发

    我想在管道成功完成后触发 Webhook 我查看了触发器列表 但没有找到任何内容 是否有解决方法可以通过 Pipeliens 手动触发 Webhook 您可以使用构建状态已更新 https confluence atlassian com
  • 核心数据:观察某种类型实体的所有变化

    每当添加 更改 删除某种类型的实体时 我希望收到通知 我知道通过向managedObjectContext 但随后我必须搜索返回的三个集合以查看它们是否包含该类型的对象 我可以用filteredSetUsingPredicate 但是每次有
  • 无法理解 PcapNG 文件中的 802.11 数据帧格式

    I have PcapNG由 Wireshark 创建的文件 我尝试用它来解析python pcapng However I cannot figure out how to reconcile the output I receive f
  • 按下控制器时,UIBarButtonItemStyleDone 不会在导航栏中创建蓝色按钮

    我在几个不同的论坛上搜索过 似乎找不到这个问题的答案 我已将一个栏按钮项目添加到导航控制器并将其样式设置为 UIBarButtonItemStyleDone 当这是导航堆栈上的第一个控制器时 该按钮正确显示为蓝色 但是 当创建控制器并将其推
  • 派系问题算法设计

    我的算法课上的作业之一是设计一种穷举搜索算法来解决派系问题 也就是说 给定尺寸图n 该算法应该确定是否存在尺寸的完整子图k 我想我已经得到了答案 但我忍不住认为它可以改进 这是我所拥有的 版本1 input 由数组 A 0 表示的图n 1
  • React router dom v6 不会重定向到未找到

    所以我刚刚从react router domv5 到 v6 我认为 exact不再存在 因为它被省略了 但就我而言 它不起作用 如果找不到路由 则应重定向到not found页面 但无法弄清楚为什么它不起作用 它只是打印了一张白页 所以 这
  • 计算多种利率的利息

    我有一个存储利率的表 每个利率都有一个适用的开始日期 表中较晚的条目将取代较早的条目 我必须使用开始日期 结束日期和金额查询该表 根据这些值 我需要最终得到一个考虑了日期范围内不同利率的总利息金额 CREATE TABLE dbo Inte
  • 实体框架从 saveChanges 中的上下文获取用户

    我的解决方案中有两个项目 UI 作为 mvc 和首先用于实体模型代码的类项目 我的模型中有多个实体 但现在我需要通过新的审计字段来扩展它们 我需要保存谁更改了实体 我添加了新界面 public interface IAuditable
  • 如何在 PostgreSQL 数据库中存储 NumPy 数组?

    目前 我正在创建 npz 压缩文件来存储大型 NumPy 数组 因此 每次我需要从文件加载数组时 由于这是一个频繁的过程 我就考虑将 NumPy 数组存储在数据库中 我正在使用 PostgreSQL 数据库 您可以使用 bytea 列来完成