在我真正的问题中,我将有两个信息表(x,y)。x 将有约 260 万条记录,y 将有约 1 万条记录;这两个表具有多对一 (x->y) 关系。我想根据 y 对 x 进行子集化。
我认为最匹配的帖子是this和that以及this。我选择了 numpy 数组。我愿意使用其他数据结构;我只是想选择可以扩展的东西。我是否使用了适当的方法?是否有其他帖子涵盖此内容?我不想使用数据库,因为我只这样做了一次。
以下代码试图说明我正在尝试做的事情。
import numpy, copy
x=numpy.array([(1,'a'), (1, 'b'), (3,'a'), (3, 'b'), (3, 'c'), (4, 'd')], dtype=[('id', int),('category', str, 22)] )
y=numpy.array([('a', 3.2, 0), ('b', -1, 0), ('c', 0, 0), ('d', 100, 0)], dtype=[('category', str, 20), ('value', float), ('output', int)] )
for id, category in x:
if y[y['category']==category]['value'][0] > 3:
y[y['category']==category]['output']=numpy.array(copy.deepcopy(id))