matlab中ismember_相当于Matlab“ismember”in numpy(Python)?

我正在努力寻找一个使用

ismember的特定Matlab编码“模式”的Numpy等价物.

不幸的是,这个代码往往是大部分时间花在我的Matlab脚本中,所以我想找到一个有效的Numpy等效项.

基本模式包括将子集映射到较大的网格上.我有一组存储为并行数组的键值对,我想将这些值插入到以相同方式存储的较大的键值对列表中.

具体来说,我有季度GDP数据,我映射到每月的时间网格如下.

quarters = [200712 200803 200806 200809 200812 200903];

gdp_q = [10.1 10.5 11.1 11.8 10.9 10.3];

months = 200801 : 200812;

gdp_m = NaN(size(months));

[tf, loc] = ismember(quarters, months);

gdp_m(loc(tf)) = gdp_q(tf);

请注意,并不是所有的季度都出现在月份列表中,因此需要tf和loc变量.

我在StackOverflow上看到过类似的问题,但是它们只是给出一个纯Python解决方案(here),或者使用numpy,那么不返回loc参数(here).

在我特定的应用领域,这种特殊的代码模式往往会一再出现,占用了大部分CPU时间,所以这里有效的解决方案对我而言至关重要.

也欢迎评论或重新设计.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值