python Numpy数组获取最后3个值以标识其升序或降序或中序

我正在尝试使用 NumPy 数组或普通数组执行以下操作:

为了推送我正在做的数据:

ar1 = []

#Read from Pandas dataframe column. i is row number of data - it's working fine.
ar1.append((df['rolenumber'][i]))  

输出:

[34768,34739,34726,34719,34715]  

这个结果可能是升序/降序或任何可能的组合。

这里我想取最后 3 个值来验证它是升序还是降序还是混合。

  • 升序:如果最后 3 个值有规律地增加。示例:34726,34745

  • Descending:如果最后 3 个值适当减少。示例:34726,34715

  • 混合:如果最后 3 个以大数开始,然后是小数,然后是大数。示例:34726,34725

注意:无需排序仅验证。

rickylf2lee 回答:python Numpy数组获取最后3个值以标识其升序或降序或中序

这个小片段应该可以帮助您:

a = np.array([34768,34739,34726,34719,34715])

is_descending = np.all(np.diff(a[-3:]) < 0)
is_ascending = np.all(np.diff(a[-3:]) > 0)
is_mixed = ~(is_ascending | is_descending)
本文链接:https://www.f2er.com/959.html

大家都在问