首先,我将一个标量时间序列存储在一个 numpy 数组中:
ts = np.arange(10)
这是
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
假设我想从 ts 中提取一系列向量 (2,1,0), (3,2,1) , (4,3,2) 等,我可以想到下面的代码来做:
for i in range(len(ts)-2):
print(ts[2+i:i-1:-1])
但是,当i=0时,上面的代码返回一个空数组而不是[2,1,0],因为循环体会变成
print(ts[2:-1:-1])
中间的 -1 会造成麻烦。
我的问题是:有没有办法让[2,1,0]的索引工作?
请您参考如下方法:
你需要使用None:
ts = np.arange(10)
for i in range(len(ts)-2):
print(ts[2+i:None if i == 0 else i - 1:-1])
