如何在 numpy 数组的给定条件下获得最快的计算速度?

问题描述 投票:0回答:1

我做了如下类别。

1~4:0 5~9:1 10~15 : 2

我有一个 numpy 数组,如下所示。

np.array([2, 5, 10, 13, 7, 9])

如何根据给定条件以最快的方式更改上述 numpy 数组,如下所示?

np.array([0, 1, 2, 2, 1, 1])

因为我认为“for循环”会消耗很多时间。

有什么方法可以计算最快的时间吗?

python numpy
1个回答
0
投票

假设您有正整数并且间隔是连续的,您可以使用

np.digitize
:

a = np.array([2, 5, 10, 13, 7, 9])
np.digitize(a, [4, 9, 15])

输出:

array([0, 1, 2, 2, 1, 2])

© www.soinside.com 2019 - 2024. All rights reserved.