如何删除NumPy数组中的数字?

时间:2019-05-15 12:23:51

标签: python python-3.x numpy

我想知道如何根据How to find larger numbers of any selected number in a series in an ascending order in NumPy?

从原始列表中删除代码产生的数字

示例: 系列随机数: 4,8,5,9,3,11,17,19,9,15,16

X = 4,然后:

4、8、9、11、17、19(我们称为第1轮)

删除了导致第1轮的数字,并且该操作进入了新列表,如下所示:

5、3、9、15、16

因此,如果我们将代码应用于新列表,它将生成新结果:

X = 5,然后: 5、9、15、16

编辑:

a = np.array([4, 8, 5, 9, 3, 11, 17, 19, 9, 15, 16])
X = 4
withreps = np.maximum.accumulate(a[np.argmax(a==X):])
result = withreps[np.where(np.diff(withreps, prepend=withreps[0]-1))]
result
# array([ 4,  8,  9, 11, 17, 19])

1 个答案:

答案 0 :(得分:0)

查看以下代码

import numpy as np

rand_nums = np.array([4, 8, 5, 9, 3, 11, 17, 19, 9, 15, 16])
round_one = np.array([4, 8, 9, 11, 17, 19])
res = np.setdiff1d(rand_nums, round_one)
print(res)

# output 
>>> array([ 3,  5, 15, 16])