如何在Python中实现matlabs“aremember()“命令?

如何在Python中实现matlabs“aremember()“命令?,第1张

概述这是我的问题:我想创建一个布尔矩阵B,其中包含矩阵A具有向量v中包含的值的所有位置.一个不方便的解决方案是: import numpy as np>>> A = np.array([[0,1,2], [1,2,3], [2,3,4]])array([[0, 1, 2], [1, 2, 3], [2, 3, 4]])>>> v = [1,2]>>> B = (A= 这是我的问题:我想创建一个布尔矩阵B,其中包含矩阵A具有向量v中包含的值的所有位置.一个不方便的解决方案是:

import numpy as np>>> A = np.array([[0,1,2],[1,2,3],[2,3,4]])array([[0,4]])>>> v = [1,2]>>> B = (A==v[0]) + (A==v[1]) # matlab: ``B = ismember(A,v)``array([[False,True,True],[ True,False],False,False]],dtype=bool)

如果A和v有更多的值,是否有更方便的解决方案?

干杯!

解决方法 我不知道多少numpy,这里是一个原始的python:

>>> A = [[0,4]]>>> v = [1,2]>>> B = [map(lambda val: val in v,a) for a in A]>>>>>> B[[False,[True,False]]

编辑:正如布鲁克斯摩西所指出的那样,一些简单的时机似乎表明,这个可能更好:

>>> B = [ [val in v for val in a] for a in A]
总结

以上是内存溢出为你收集整理的如何在Python中实现matlabs“aremember()“命令?全部内容,希望文章能够帮你解决如何在Python中实现matlabs“aremember()“命令?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1195081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存