相关疑难解决方法(0)

如何替换numpy数组中的值列表?

我有一个未排序的数字.

我需要用特定的替代品替换某些数字(在列表中给出)(也在相应的列表中给出)

我写了下面的代码(似乎有效):

import numpy as np

numbers = np.arange(0,40)
np.random.shuffle(numbers)
problem_numbers = [33, 23, 15]  # table, night_stand, plant
alternative_numbers = [12, 14, 26]  # desk, dresser, flower_pot

for i in range(len(problem_numbers)):
    idx = numbers == problem_numbers[i]
    numbers[idx] = alternative_numbers[i]
Run Code Online (Sandbox Code Playgroud)

然而,这似乎非常低效(对于更大的阵列,这需要进行数百万次).

我发现这个问题回答了类似的问题,但在我的情况下,数字没有排序,他们需要保持原来的位置.

注意:numbers可能包含多个或不包含的元素problem_numbers

python arrays performance numpy

6
推荐指数
1
解决办法
1411
查看次数

标签 统计

arrays ×1

numpy ×1

performance ×1

python ×1