栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

等价于numpy(Python)中的Matlab'ismember'吗?[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

等价于numpy(Python)中的Matlab'ismember'吗?[重复]

如果按月排序,请使用

np.searchsorted
。否则,排序然后使用
np.searchsorted

import numpy as npquarters = np.array([200712, 200803, 200806, 200809, 200812, 200903])months = np.arange(200801, 200813)loc = np.searchsorted(months, quarters)

np.searchsorted
返回插入位置。如果您的数据有可能不在正确的范围内,那么您之后可能需要检查一下:

valid = (quarters <= months.max()) & (quarters >= months.min())loc = loc[valid]

这是一个O(N log
N)解决方案。如果就运行时间而言,这仍然对您的程序来说很重要,那么您可以使用散列方案在C(++)中执行此子例程,该方案应为O(N)(并避免某些常量因素,当然)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669618.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号