【发布时间】:2014-04-07 17:54:52
【问题描述】:
我正在尝试在我的脚本中找到合适的 python 函数来替换 matlab find,并且通过一些谷歌搜索,我看到 np.where() 在大多数情况下都能解决这个问题。但在双重条件下,我有不同的输出。有人可以告诉我这种方法有什么问题以及如何继续吗?示例代码和区别如下。
如果是matlab:
b = [1, 2, 3; 1, 2, 3; 1, 2, 3]
[I, J] = find(( b > 1) & (b <= 3))
给出输出
I = J =
1 2
2 2
3 2
1 3
2 3
3 3
如果是python:
b= array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
>>> np.where((b > 1) & (b <= 3))
(array([0, 0, 1, 1, 2, 2]), array([1, 2, 1, 2, 1, 2]))
【问题讨论】:
标签: python matlab python-2.7 numpy