我有一个numpy数组值的数据集
array([0.74, 0.77, 0.72, 0.65, 0.24,
0.07,0.79,0.88])
我想将numpy数组转换为包含6个元素的列表,其中每次值都应该在python中移动一个位置
这是我想要的列表的列表。
[[0.74, 0.77, 0.72, 0.65, 0.24,0.07],[0.77, 0.72, 0.65, 0.24, 0.07,0.79],[0.72, 0.65, 0.24,
0.07,0.79,0.88]]
因此,不清楚要移动数组多少次,以及为什么结果子列表的长度是这样的。但是只用numpy.roll
。大意是:
result = [np.roll(arr, -i)[:-2].tolist() for i in range(3)]
根据@hpaulj的评论,我认为你想要这样的东西:
n = 6 # some paramter
result = [arr[i:i+n].tolist() for i in range(len(arr) - n + 1)]