Python 在numpy数组(或任何数组)的切片中查找最小值的基本帮助?

Python 在numpy数组(或任何数组)的切片中查找最小值的基本帮助?,python,list,numpy,Python,List,Numpy,这可能是非常基本的,但我还没有在网站上找到问题: 我有时间序列数据,只能在调用函数时将窗口长度传递给函数。在我的例子中,这是每日价格数据的14天低点,其中最近的价格是数组/列表中的最后一个值 对于最近的14天低点,我可以打电话 window_length = 14 w = window_length np.nanmin(xyzlist[-w:], axis = 0) 但我不仅需要最近14天低点的数据,还需要后续2个14天高点和低点的数据。 我目前的想法是调整窗口的大小,只需拜访最老的14天,

这可能是非常基本的,但我还没有在网站上找到问题:

我有时间序列数据,只能在调用函数时将窗口长度传递给函数。在我的例子中,这是每日价格数据的14天低点,其中最近的价格是数组/列表中的最后一个值

对于最近的14天低点,我可以打电话

window_length = 14

w = window_length
np.nanmin(xyzlist[-w:], axis = 0)
但我不仅需要最近14天低点的数据,还需要后续2个14天高点和低点的数据。 我目前的想法是调整窗口的大小,只需拜访最老的14天,所以第二天我会说

window_length = 15

w = window_length
np.nanmin(xyzlist[-w:-w+14], axis = 0)
但是,这对最近14天的低点不起作用,因为它忽略了[-1]中存储的值。老实说,我可以用一个“if”语句来解决这个问题,如果窗口大小==14,我会用第一种方法来解决,否则我会用第二种方法来解决,但感觉很马虎

我意识到可能有一个非常简单的解决方案不仅适用于numpy阵列,因此,如果有人能够提供帮助,这将意味着很多:)


提前谢谢

一个让人感觉不那么尴尬的成语是:

np.nanmin(xyzlist[-w:(-w+14) or None], axis = 0)

我想得太多了。我只是需要通过

np.nanmin(xyzlist[0:14], axis = 0)

这样,我可以在任何窗口长度调用我想要的,它将采取最古老的14个价格。这真是漫长的一天,对此表示抱歉。

此解决方案比仅将切片设置为[0:14]更有用,因为它允许您迭代并提取所有需要的尾随值,而不管窗口大小(当然只要窗口大小>需要的范围),非常感谢!