【发布时间】:2017-03-14 16:04:01
【问题描述】:
我有一个滚动窗口功能。它将一个 numpy 数组转换为数组列表。但是,我想将此函数的结果转换为纯数组。
import numpy as np
def get_rolling_window(arr, window):
arr_rolled = [arr[i:i+window] for i in np.arange(arr.shape[0])]
return arr_rolled
x = np.arange(10).reshape(5,2)
x_rolled = get_rolling_window(x, 2)
现在 x_rolled 是一个数组列表。如果我使用
x_arr = np.array(x_rolled)
它不起作用,因为 x_arr 的 dtype 是 object,而不是 float 或 int。如果你
print(x_arr.shape)
你会得到 (5,)。对于纯浮点数组,其形状应为 (5,2,2)。
你知道怎么做吗?
谢谢
【问题讨论】:
-
np.concatenate(x_rolled)带给你什么?
标签: arrays list python-3.x numpy