是否可以使用 np 数组作为 h5py 数据集中的索引?

2024-04-21

我需要将多个数据集(每个数据集包含在一个单独的文件中)合并到属于最终文件的另一个数据集中。 当部分数据集中的数据被复制到最终数据集中时,它们的顺序不会保留 - 部分数据集中的数据通过索引“映射”到最终数据集中。我创建了两个列表,final_indices 和partial_indices,并写道:

final_dataset   = final_hdf5file['dataset']
partial_dataset = partial_hdf5file['dataset']

# here partial ad final_indices are lists.
final_dataset[final_indices] = partial_dataset[partial_indices] 

这样做的问题是性能非常糟糕 - 原因是final_和partial_indices都必须是列表。 我的解决方法是从最终数据集和部分数据集创建两个 np 数组,并使用 np 数组作为索引。

final_array   = np.array(final_dataset)
partial_array = np.array(partial_dataset)
# here partial ad final_indices are nd arrays.
final_array[final_indices] = partial_array[partial_indices] 

然后将最终数组重新写入最终数据集。

final_dataset[...] = final_array

然而,在我看来,这样做很不雅观。

是否可以使用 np.arrays 作为 h5py 数据集中的索引?


所以你正在为读取和写入做花式索引:

http://docs.h5py.org/en/latest/high/dataset.html#fancy-indexing http://docs.h5py.org/en/latest/high/dataset.html#fancy-indexing

它警告说,长列表可能会很慢。

我可以看到在哪里读取和写入整个集合以及在数组上进行映射会更快,尽管我还没有实际测试过。读/写速度更快,映射速度也更快

http://docs.h5py.org/en/latest/high/dataset.html#reading-writing-data http://docs.h5py.org/en/latest/high/dataset.html#reading-writing-data

我会使用切片符号(或value)来加载数据集,但这只是一个小问题。

final_array   = final_dataset[:]

如果函数中的代码看起来不优雅,请将其隐藏。

这个 oneliner 可能有用(我还没有测试过)。 RHS 更有可能发挥作用。

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

是否可以使用 np 数组作为 h5py 数据集中的索引? 的相关文章

  • 自定义seaborn jointplot中的轴标签

    我似乎陷入了一个相对简单的问题 但在经过一小时的搜索和大量的实验后无法解决它 我有两个 numpy 数组x and y我正在使用seaborn的联合图来绘制它们 sns jointplot x y 现在我想分别将 x 轴和 y 轴标记为 X
  • 从第二个 DF 中查找一个 DF 中属于同等大小的矩形(由两个点给出)的点的快速(矢量化)方法

    我的数据框 A 如下所示 type latw lngs late lngn 0 1000 45 457966 9 174864 45 458030 9 174907 1 1000 45 457966 9 174864 45 458030 9
  • 使用 cv2 在 python 中创建多通道零垫

    我想用 cv2 opencv 包装器在 python 中创建一个多通道 mat 对象 我在网上找到了一些例子 其中 c Mat zeros 被 numpy zeros 替换 这看起来不错 但似乎没有多通道类型适合 看代码 import cv
  • 使用 numpy 数组计算累积最小值

    我想计算 累积最小值 数组 基本上 数组到每个索引的最小值 例如 import numpy as np nums np array 5 3 4 2 1 1 2 0 cumulative min np zeros nums size dtyp
  • 内存高效的随机数迭代器,无需替换

    我觉得这应该很容易 但经过多次搜索和尝试后我找不到答案 基本上 我有大量的物品 我想以随机顺序进行采样 而不需要更换 在本例中 它们是二维数组中的单元 我用于较小数组的解决方案不会转换 因为它需要对内存数组进行改组 如果我必须采样的数量很小
  • Python 多元简单线性回归

    注意这是not关于多元回归的问题 这是一个关于在 Python NumPy 2 7 中多次进行简单 单变量 回归的问题 我有两个m x n arrays x and y 这些行彼此对应 每对都是用于测量的 x y 点的集合 那是 plt p
  • 使用自定义颜色渐变填充两条线之间的区域

    我正在做一项几乎已经完成的作业 但我想对其添加一些小改动 尝试使用基于温度的颜色图而不是简单的颜色来填充两条线之间的区域 绘制线条的方式本质上使它们成为独立的实体 所以我知道我可能需要两个彼此相遇或重叠的颜色图来完成此任务 但我不太确定如何
  • 如何在 ndarray 内创建一个球体? [复制]

    这个问题在这里已经有答案了 我有一个 ndarray 大小32x32x32 我想在数组内创建一个球体 其中心位于 x y 半径为 4 像素 球体的值为 1 而数组的值为 0 这如何在 python 中完成 这是生成数组的代码 import
  • numpy.polyfit 给出有用的拟合,但协方差矩阵无限

    我正在尝试将多项式拟合到一组数据 有时可能会出现以下情况 返回的协方差矩阵numpy ployfit仅由inf 尽管拟合似乎很有用 没有numpy inf或数据中的 numpy nan Example import numpy as np
  • 使用 to_categorical 转换 np.array 时出现内存问题

    我有一个像这样的 numpy 数组 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 我这样改造它以减少内存需求 x val x val asty
  • “扩展”numpy ndarray 的好方法?

    有没有 扩展 numpy ndarray 的好方法 假设我有一个像这样的 ndarray 1 2 3 4 我希望每行通过填充零来包含更多元素 1 2 0 0 0 3 4 0 0 0 我知道一定有一些蛮力的方法可以做到这一点 比如构造一个带有
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 在numpy中,[:,None]选择有什么作用?

    我正在学习 Udacity 的深度学习课程 我遇到了以下代码 def reformat dataset labels dataset dataset reshape 1 image size image size astype np flo
  • 从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为日期时间

    我有一个DataFrame列名为date 我们如何将 日期 列转换 解析为DateTime object 我使用 Postgresql 数据库加载日期列sql read frame 的一个例子date列是2013 04 04 我想做的是选择
  • 使用 pandas/beautiful soup 抓取表数据(而不是慢的 Selenium?),BS 实现不起作用

    我正在尝试抓取该网站上的网络数据 而我能够访问数据的唯一方法是迭代表的行 将它们添加到列表中 然后将它们添加到 pandas 数据框 写入csv 然后单击下一页并重复该过程 每次搜索大约 50 页 我的程序执行 100 多个搜索 它非常慢
  • 如何从文件中读取两行并在 for 循环中创建动态键,后续

    这个问题紧接着所讨论的问题 如何从文件中读取两行并在 for 循环中创建动态键 https stackoverflow com q 41929351 868546 但是 问题的本质已经发展到我想要解决的某种复杂性 下面是我的数据结构 用空格
  • 按名称获取多个 pandas 列的索引

    我想获取选定的 pandas 数据框列的数字索引 对于一列来说 这非常简单 nonzero df columns values conditionA 但有多个元素 我有一些有用的东西 但很冗长和巨大 df pd DataFrame colu
  • 如何有效地比较 pandas DataFrame 中的行?

    我有一个 pandas 数据框 其中包含雷击记录以及时间戳和全球位置 格式如下 Index Date Time Lat Lon Good fix 0 1 20160101 00 00 00 9962692 7 1961 60 7604 1
  • 在 Cython 中访问 NumPy 记录数组列

    我是一位相对经验丰富的 Python 程序员 但很长一段时间没有编写任何 C 语言 并且正在尝试理解 Cython 我正在尝试编写一个 Cython 函数 该函数将在 NumPy 记录的列上进行操作 到目前为止我的代码如下 recarray
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这

随机推荐

  • ReactiveCommand 传递命令参数

    我想用命令来实现文本框中的KeyDown事件 我想让命令能够识别哪个键输入 例如 KeyEventArgs 在 KeyDown Event 中执行操作并执行其他一些操作 所以我想将命令参数传递给ReactiveCommand 就像Event
  • Python selenium:DevTools 监听 ws://127.0.0.1

    今天 当我使用 chromedriver 运行 selenium 时 我在控制台上收到此消息 我该如何抑制这种情况 DevTools listening on ws 127 0 0 1 12740 devtools browser 9710
  • 更改 Integration Services 项目中的 .NET Framework

    在 Visual Studio 2013 中创建新的 Integration Services 项目时 我可以选择要定位的 NET 框架 如何查看现有项目所针对的 NET 框架并可能对其进行更改 您需要打开脚本任务之一并单击 编辑脚本 按钮
  • 如何在 R 中按下传单弹出窗口时创建事件?

    当我单击传单多边形时 我想让 tabPanel 变为闪亮 我对如何做到这一点有一些想法 但我找不到实现它们所需的信息 我在选项卡面板中有传单 但我想在单击多边形时切换到另一个选项卡 leaflet llmap gt addTiles gt
  • 使用 cmake 构建项目后如何运行 ctest

    我希望每次成功构建项目时都启动测试 如果某些测试被破坏 我希望我的构建也被破坏 默认情况下 我需要通过运行来手动运行测试ctest命令 CTest 实际上可以构建项目 但我使用调用的 IDEmake建立资源 和make不运行测试 我将此命令
  • php 7 无法初始化 sqlsrv

    我搜索了一整天 寻找 php 7 VC14 x64 Thread Safe 上 sqlsrv dll 的解决方案 但没有找到解决方案 有没有人解决这个问题 04 Oct 2015 19 48 05 UTC PHP Warning PHP S
  • UNNotificationServiceExtension:内存限制?

    我正在尝试实现 UNNotificationServiceExtension 但我的代码似乎经常失败 只需说明 Program ended with exit code 0 我正在尝试在扩展中使用 FMDB Sqlite3 模块 似乎我可能
  • 诊断 SQL Server 2005 中的死锁

    我们在 Stack Overflow SQL Server 2005 数据库中发现了一些有害但罕见的死锁情况 我附加了分析器 使用设置了跟踪配置文件这篇关于解决死锁问题的优秀文章 http www simple talk com sql l
  • 如何仅将缩进序列化应用于某些属性?

    我想以人类可读的方式将 NET 对象序列化为 JSON 但我希望对对象的属性或数组的元素是否最终位于自己的一行上有更多的控制 目前我正在使用 JSON NETJsonConvert SerializeObject object Format
  • 如何改变字典中的数组?

    我在操场上尝试过以下操作 var d1 String String d1 a String var a1 d1 a a1 append s1 println d1 输出是 a 我希望 a s1 改变字典中数组的正确方法是什么 在 swift
  • C++:不同翻译单元中具有相同名称的不同类

    考虑以下示例 usedclass1 hpp include
  • pmap 和线程数

    user gt Runtime getRuntime availableProcessors 2 并评估这个例子 http clojuredocs org clojure core clojure core pmap example 684
  • “PKIX 路径构建失败”和“无法找到请求目标的有效证书路径”

    我正在尝试使用 twitter4j 库为我的 java 项目获取推文 该项目在幕后使用java net HttpURLConnection 如堆栈跟踪中所示 第一次运行时 我收到有关证书的错误sun security validator V
  • PyQt:QFileSystemModel 复选框过滤器

    我正在尝试使用 python pyqt 创建一个实用程序来从QFileSystemModel 仅包括已检查的项目 现在我想要控制QFileSystemModel使用文件名 文件类型 文件大小进行过滤的复选框 我如何勾选 取消勾选QFileS
  • MediatR 和 SimpleInjector 的依赖范围问题

    我一直在使用中介者模式和 CQRS 进行实验MediatR https github com jbogard MediatR使用实体框架进行数据访问的 WinForms 应用程序中的库 该应用程序用于批次制造工厂 允许用户查看活动批次和已完
  • 有没有办法在没有样式组件的情况下为整个反应应用程序设置默认字体系列?

    我正在寻找一种方法来设置整个反应应用程序的默认字体系列 但所有结果 包都指向反应本机 对于React 有没有一种方法可以默认全局字体设置 而无需在每个CSS中指定font family 谢谢 如果我正确理解你的问题 应该这样做 import
  • C代码运行速度更快吗?

    从 Objective C 调用 C 代码是否有任何性能提升 我在某处读到 与使用函数调用的其他语言相比 消息传递速度较慢 那么 如果我从 Objective C 代码调用 C 函数 我是否可以避免消息传递开销 在优化性能时 是否建议使用
  • 如何在 Ubuntu 20.04 中安装 Python2.7 的 pip

    有什么方法可以为 Python2 7 安装 pip 吗 我可以通过安装 python2 7 sudo apt install python2 minimal 我尝试为此安装 pip sudo apt install python pip p
  • 为什么我的 JQuery .ajax 请求没有并行发出?

    我正在尝试使用 jQuery 并行发出两个 ajax 请求 如下所示 var sources source1 source2 sources each function var source this ajax async true typ
  • 是否可以使用 np 数组作为 h5py 数据集中的索引?

    我需要将多个数据集 每个数据集包含在一个单独的文件中 合并到属于最终文件的另一个数据集中 当部分数据集中的数据被复制到最终数据集中时 它们的顺序不会保留 部分数据集中的数据通过索引 映射 到最终数据集中 我创建了两个列表 final ind