【问题标题】:converting matlab "find" to "numpy" where将matlab“find”转换为“numpy”
【发布时间】:2015-01-18 14:23:57
【问题描述】:

我正在尝试使用 numpy 库将一些 matlab 代码转换为 python 代码。 代码在数组值中搜索并保存找到的索引

原始matlab代码

index1 = find(array1 == 2 & array2 > array3);

我的python“翻译”

index1 = np.where((array1 == 2) & (array2 > array3))

这是正确的方法吗? 我无法测试输出,因为我没有 matlab,我希望有人可以帮助我。谢谢!

【问题讨论】:

  • 在测试阵列上测试它,看看它是否符合您的要求。

标签: python matlab numpy


【解决方案1】:

试试

np.nonzero( np.logical_and( array1 == 2, array2 > array3 ) )

您可以阅读有关logical_andnonzero 的更多信息。您也可以考虑将nonzero() 替换为flatnonzero

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多