【发布时间】:2020-10-18 15:15:48
【问题描述】:
如何通过 O(1) 中的键值获取行?
我在文档中找到的唯一选择行的方法是行选择器,它似乎没有利用列的键控状态。
例如在这张表中:
size = 10**4
DT = dt.Frame({'id':range(size)})
DT.key = 'id'
与按行号访问相比,使用行选择器访问真的很慢:
for i in range(size):
DT[dt.f.id==i,:]
# ~2.61 s
for i in range(size):
DT[i,:]
# ~0.03 s
由于该列是键控的,我的期望是能够在 O(1) 中访问,但我不知道实现这一目标的正确方法。
【问题讨论】:
-
目前,键列的唯一特性是它在连接中的使用;我不认为它已经针对选择进行了优化或实施。
-
谢谢sammywemmy,看来你是对的
标签: python datatable py-datatable