【发布时间】:2021-06-10 13:56:09
【问题描述】:
numpy 是否有一种简单的方法来确定数组是否具有如下所示的模式:(正数后跟负数后跟正数)?
例子:
myArray = np.array([5, 5, 3, 6, -2, -5, 4, 9])
myArray2 = np.array([5, 5, 3, 6, 8, 4, -5, -8])
if foundPatern(myArray): # True
if foundPatern(myArray2): # False
【问题讨论】:
-
纯 numpy 解决方案:
check = np.all((x[np.hstack((True,np.diff(x>=0)))]>=0)==[True,False,True])其中x是您的数组。我只保留符号更改的值并检查符号是否确实是Positive Negative Positive。