给出候选索引列表
candidates = np.array([ 3, 4, 5 ])
您可以通过
在数据框df
中查找
df.loc[ candidates ]
但是如果df.index
中缺少候选人,则会抛出异常。
最快获取两者的方式是什么?:
df
切片特别是如果df.index.is_monotonic == True
,应该使用这个事实来加快速度。
答案 0 :(得分:0)
作为基准,df.size
约为6.8M。
%time df.index.isin([45,66,77,99,87,65,234,668,798])
Wall time: 15 ms
array([False, False, False, ..., False, False, False], dtype=bool)
我的建议
%%time
item_list = [45,66,77,99,87,65,234,668,798]
result_list = []
for item in item_list:
if item in user_shop_df.index.values:
result_list.append(True)
else:
result_list.append(False)
Wall time: 10 ms