有没有一种快速的方法可以在带有 pytable 的巨大 hdf5 表中查询不同的列值



我有一个巨型hdf5文件,由一个表,26列,大约30亿行组成(它不可能放在内存中(。我做了很多谷歌搜索,找不到一种快速的方式来查询一列或一组列的不同值。有没有比遍历所有行和构建列表更快的方法?

这显示了如何将一列数据从 Pytables 表提取到 Numpy 数组,然后使用 Numpy np.unique() 方法仅获取唯一值的新数组。还显示了获取每个值的唯一值和计数数组的选项。

mytable = h5_file.root.YOUR_DATASET
Col1_array = mytable.col('Col1')
# above statement is equivalent to:
Col1_array = mytable.read(field='Col1')
# get array of unique values:
uarray = np.unique(Col1_array)
# if you also want an array of counts for each unique value:
uarray, carray = np.unique(Col1_array, return_counts=True)

最新更新