gpt4 book ai didi

python - 调整 numpy 或数据集大小的有效方法?

转载 作者:行者123 更新时间:2023-11-28 16:47:49 27 4
gpt4 key购买 nike

我想了解 resize() 函数对 numpy 数组和 h5py 数据集 的影响。在我的应用程序中,我逐行读取文本文件,然后在解析数据后写入 hdf5 文件。什么是实现这个的好方法。我是否应该将每个新行添加到 numpy 数组中并继续为 numpy 数组 调整 (增加轴) 的大小 (最终将完整的 numpy 数组写入 h5py 数据集) 或者我应该直接将每个新行数据添加到 h5py 数据集 中,从而调整内存中 h5py 数据集 的大小。如果我们在每一行之后继续调整大小,resize() 函数如何影响性能?或者我应该在每 100 或 1000 行后调整大小?

每个数据集中大约有 200,000 行。

感谢任何帮助。

最佳答案

我认为 resize() 会复制数组中的所有数据,如果重复调用它会很慢。

如果想连续向数组追加数据,可以先创建一个大数组,然后使用索引将数据复制进去。

或者您可以使用数组模块中的数组对象,它是一个行为类似于列表的动态数组。将所有数据附加到数组对象后,您可以将其转换为 ndarray。这是一个例子:

import array
import numpy as np
a = array.array("d")
a.extend([0,1,2])
a.extend([3,4,5])
b = np.frombuffer(a, np.float).reshape(-1, 3)

关于python - 调整 numpy 或数据集大小的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com