我有一个4+gbhdf5表,其中的行对应于树状结构中的节点。有3个显著的列:name
,surname
,weight
。姓氏记录给定节点的父节点的名称,name是当前节点的名称(相对于父节点),weight是节点的权重。名称和姓氏都是字符串,姓氏+名称构成此节点的唯一标识符。最后,对于任何给定的节点,其子节点的权重严格小于其自身的权重。你知道吗
我的问题是,我想过滤这个表以找到所有权重小于给定阈值M的节点,但是如果一个节点存在于我的最终集合中,那么它的父节点不应该在集合中。你知道吗
我已经用pd.read_hdf(,where = ['weight < M'])
得到了所有的节点,它们的权重都小于我的条件,但是我不知道如何满足下半部分。由于表本身是巨大的,所以这也需要大部分内存来完成。你知道吗
编辑:我从来没有在这里问过一个问题,所以如果你需要更清楚,请问
更新:这是表格的一个示例。你知道吗
surname name weight
1 1 0.016496
1 2 0.004884
1 3 0.004691
为了澄清我所说的nodes
是什么意思,假设每一行都代表下图中较低3个节点的属性:
1
/ | \
11 12 13
... ... ...
例如,节点12通过采用其父节点(1)的名称并连接其位置(2)来命名
节点11、12和13各有3个节点作为其子节点,其权重严格小于各自的父节点。如果我设置了权重阈值M=0.0165,我想返回节点11、12和13,不带任何子节点。你知道吗
如果您正在寻找一个类似pandas的语法,并且您有超出核心的需求,那么您将需要像Blaze这样的东西来控制它。The documentation表示它可以在并行处理部分处理HDF5文件。你知道吗
但是你的问题是你想用它做什么还不清楚。如有必要,请举例说明数据输入和输出。你知道吗
相关问题 更多 >
编程相关推荐