gpt4 book ai didi

Python3,将MATLAB数组代码转换为Python版本?

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:23 25 4
gpt4 key购买 nike

我的 MATLAB 代码如下所示:

dindex =find(H2(:,1)>=2400)
H2 =H2(dindex,:);

我找到二维数组 H2 的所有行,其中第一列大于 2400。

如何在 Python 中完成此操作?

最佳答案

我建议使用numpy为此,它是一个非常强大的 Python 库,使此类任务变得微不足道。

numpy.where()这就是您在这里寻找的内容:

>>> import numpy as np
>>> arr = np.array([[2500, 1, 1, 1, 1], [2300, 1, 1, 1, 1], [2600, 1, 1, 1, 1]])
>>> arr
array([[2500, 1, 1, 1, 1],
[2300, 1, 1, 1, 1],
[2600, 1, 1, 1, 1]])
>>> np.where(arr[:,0] >= 2400)
(array([0, 2], dtype=int64),)

如果您只想保留满足此条件的行,可以使用 numpy 索引来实现:

>>> arr = np.array([[2500, 1, 1, 1, 1], [2300, 1, 1, 1, 1], [2600, 1, 1, 1, 1]])
>>> arr
array([[2500, 1, 1, 1, 1],
[2300, 1, 1, 1, 1],
[2600, 1, 1, 1, 1]])
>>> arr = arr[np.where(arr[:,0] >= 2400)]
>>> arr
array([[2500, 1, 1, 1, 1],
[2600, 1, 1, 1, 1]])

关于Python3,将MATLAB数组代码转换为Python版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49092467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com