pytables相关内容

读取.h5文件速度极慢

我的数据以.h5格式存储。我使用数据生成器来拟合模型,它非常慢。下面提供了我的代码片段。 def open_data_file(filename, readwrite="r"): return tables.open_file(filename, readwrite) data_file_opened = open_data_file(os.path.abspath("../dat ..
发布时间:2022-09-05 16:12:20 Python

HDF如何在不重新打包的情况下处理已删除数据集释放的空间

我特别指的是与使用Pyables/Pandas接口的HDF,但我认为这适用于一般的HDF。 我知道,一旦删除数据集,HDF就不会回收空间,您必须使用h5repack/ptrepack来回收该空间。我对这种方法的问题是,我发现这些工具非常慢,特别是对于几十亿字节(我的文件大约是20 GB)的文件。因此,如果您必须有规律地添加/删除派生数据集(例如,在调试构成该数据的东西时),这是不实际的。 ..
发布时间:2022-09-05 15:34:46 Python

在 HDF5 (PyTables) 中存储 numpy 稀疏矩阵

我在用 PyTables 存储 numpy csr_matrix 时遇到问题.我收到此错误: TypeError: ``csr_matrix`` 类型的对象在此上下文中不受支持,抱歉;支持的对象有:NumPy 数组、记录或标量;同类列表或元组、整数、浮点数、复数或字符串 我的代码: f = tables.openFile(path,'w')atom = tables.Atom.from_dt ..
发布时间:2021-12-31 11:52:46 Python

在 Python 中合并具有数百万行的两个表

我正在使用 Python 进行一些数据分析.我有两个表,第一个(我们称之为“A")有 1000 万行和 10 列,第二个(“B")有 7300 万行和 2 列.他们有 1 列具有公共 ID,我想根据该列将两个表相交.特别是我想要表的内连接. 我无法在内存中加载表 B 作为 Pandas 数据帧以在 Pandas 上使用正常的合并功能.我尝试通过读取块上的表 B 的文件,将每个块与 A 相交并 ..
发布时间:2021-12-17 20:23:01 Python

Python:如何在 PyTables 中存储一个 numpy 多维数组?

如何使用 PyTables 在 HDF5 文件中放置一个 numpy 多维数组? 据我所知,我不能将数组字段放入 pytables 表中. 我还需要存储一些关于这个数组的信息,并能够对其进行数学计算. 有什么建议吗? 解决方案 可能有更简单的方法,但据我所知,这就是你的做法: 将 numpy 导入为 np导入表# 生成一些数据x = np.random.random(( ..
发布时间:2021-11-18 02:38:37 Python

临时 Numpy 数组的数据库或表解决方案

我正在创建一个 Python 桌面应用程序,它允许用户选择不同的分布形式来模拟农业产量数据.我有时间序列农业数据 - 接近一百万行 - 保存在 SQLite 数据库中(尽管如果有人知道更好的选择,这并不是一成不变的).一旦用户选择了一些数据,比如伊利诺伊州 1990-2010 年的玉米产量,我希望他们从下拉列表中选择一个分布形式.接下来,我的函数将分布拟合到数据中,并从 Numpy 数组中的拟合分 ..
发布时间:2021-07-16 20:58:03 Python

追加失败时如何有效地重建pandas hdfstore表

我正在使用 pandas 中的 hdfstore 来处理持续迭代过程中的数据帧.在每次迭代中,我附加到 hdfstore 中的一个表.这是一个玩具示例: 将pandas导入为pd从熊猫进口 HDFStore将 numpy 导入为 np从随机导入选择从字符串导入 ascii_lettersalphanum=np.array(list(ascii_letters)+range(0,9))def hd ..
发布时间:2021-06-13 20:47:18 Python

PyTables + Pandas 选择问题

我有一个结构如下的 HDF5 (PyTables) 文件: //前任:/丹/A4N5/丹/B8P0/戴夫/D3Y7 每个表的结构都是这样,带有 sessionID 和存储在 epoch 中的时间: sessionID 时间0 3ODE3Nzll 14675904001 lMGVkMDc4 14675904002 jNzIzNmY1 1467590400... 我希望 Pandas 遍历每 ..
发布时间:2021-06-13 20:19:03 Python

pytables添加重复子类作为列

我正在创建具有严格参数的HDF5文件.它具有1个包含变量列的表.某一时刻,列变得重复,并附加了不同的数据.显然,我不能在IsDescription类中添加循环.当前,类Segments已被添加到类Summary_data下两次.我需要打电话给segments_k 70次.最好的方法是什么?谢谢. 类头(IsDescription):_v_pos = 1id = Int16Col(dflt = 1 ..
发布时间:2021-05-13 20:52:06 Python

Python 2.7:将数据追加到Pandas中的表

我正在从图像文件中读取数据,并且希望将此数据附加到单个HDF文件中.这是我的代码: 数据文件= pd.HDFStore(os.path.join(path,'imageData.h5'))对于fileList中的文件:数据= {'X位置':pd.Series(xpos,index = index1),'Y Position':pd.Series(ypos,index = index1),'主轴长 ..
发布时间:2021-05-13 20:51:45 Python

我想在python中将非常大的csv数据转换为hdf5

我的csv数据非常大.看起来像这样. [日期,公司名称,值1,值2,...,值60] 我想将其转换为hdf5文件.例如,假设我有两个日期(2019-07-01,2019-07-02),每个日期都有3个公司(公司1,公司2,公司3),每个公司都有[值1,值2,......值60]. 我想将日期和公司名称作为一个组使用.具体来说,我要使用以下层次结构:“日期/公司名称". 例如 ..
发布时间:2021-05-13 20:14:30 Python

pytables重复2.5 giga行

我目前有一个.h5文件,其中的表由三列组成:一个64字符的文本列,一个与文本源有关的UInt32列和一个UInt32列(即文本的xxhash).该表由〜2.5e9行组成 我正在尝试查找并计算表中每个文本条目的重复项-本质上将它们合并为一个条目,同时对实例进行计数.我尝试通过在哈希列上建立索引,然后遍历 table.itersorted(hash)来做到这一点,同时跟踪哈希值并检查冲突-与 ..
发布时间:2021-05-03 18:56:53 Python

python字典应如何存储在pytables中?

pytables本身不支持python字典.我所采用的方法是制作以下形式的数据结构: tables_dict = {'key':table.StringCol(itemsize = 40),'值':table.Int32Col(),} (请注意,我确保键的长度小于40个字符),然后使用以下结构创建表: file_handle.createTable('/','dictionary',t ..
发布时间:2021-04-30 19:53:52 Python

Python/PyTables:数组的不同列是否可能具有不同的数据类型?

我创建了Nx4列的可扩展耳朵.有些列需要float64数据类型,而其他列则可以使用int32进行管理.是否可以在各列之间更改数据类型?现在,我只使用一个(下面的float64),但是它占用了很大的磁盘空间(> 10 GB). 例如,如何确保列1-2的元素是int32,而3-4的元素是float64 ? 导入表f1 = tables.open_file("table.h5","w")a = ..
发布时间:2021-04-16 20:39:23 Python

如何在hdf5中压缩列表/嵌套列表

我最近了解了hdf5压缩并正在使用它.在处理巨大文件时,它比.npz/npy有一些优势.我设法尝试了一个小列表,因为有时我会处理具有以下字符串的列表; def write():test_array = ['a1','a2','a1','a2','a1','a2','a1','a2','a1','a2','a1','a2','a1','a2','a1','a2','a1','a2','a1',' ..
发布时间:2021-04-09 19:39:53 其他开发

在Python中使用H5T_ARRAY

我正在尝试使用Python在H5T_COMPOUND结构内使用H5T_ARRAY.基本上,我正在编写hdf5文件,如果使用H5Dump打开它,结构将如下所示. HDF5 "SO_64449277np.h5" { GROUP "/" { DATASET "Table3" { DATATYPE H5T_COMPOUND { H5T_COMPOUND { ..
发布时间:2020-11-22 19:17:20 Python

PyTables-使用cols方法的大内存消耗

在Pytables中使用cols方法的目的是什么?我有很大的数据集,我有兴趣从该数据集中只读取一列. 这两种方法给我的时间相同,但是可变内存消耗却完全不同: import tables from sys import getsizeof f = tables.open_file(myhdf5_path, 'r') # These two methods takes the same ..
发布时间:2020-11-22 19:16:18 Python