我想知道如何根据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])
答案 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])