Arrays Python3,将数组列表转换为纯浮点数组

Arrays Python3,将数组列表转换为纯浮点数组,arrays,list,python-3.x,numpy,Arrays,List,Python 3.x,Numpy,我有一个滚动窗口功能。它将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_w

我有一个滚动窗口功能。它将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_是一个数组列表。如果我使用

x_arr = np.array(x_rolled)
它将不起作用,因为x_arr的数据类型是object,而不是float或int

print(x_arr.shape)
你将得到(5,)。对于纯浮点数组,其形状应为(5,2,2)

你知道怎么做吗


谢谢

您的
xu
是一个不同形状数组的列表。因此,
np.array
无法将其转换为整数的多维数组

In [235]: x_rolled
Out[235]: 
[array([[0, 1],
        [2, 3]]), array([[2, 3],
        [4, 5]]), array([[4, 5],
        [6, 7]]), array([[6, 7],
        [8, 9]]), array([[8, 9]])]
In [236]: [x.shape for x in x_rolled]
Out[236]: [(2, 2), (2, 2), (2, 2), (2, 2), (1, 2)]
如果省略最后一个元素,则得到一个3d数组:

In [237]: np.array(x_rolled[:-1])
Out[237]: 
array([[[0, 1],
        [2, 3]],

       [[2, 3],
        [4, 5]],

       [[4, 5],
        [6, 7]],

       [[6, 7],
        [8, 9]]])
In [238]: _.shape
Out[238]: (4, 2, 2)
很容易被铸造成浮子

np.array(x_rolled[:-1]).astype(float)

我怀疑您的滚动功能没有按您所希望的那样工作。

您的
x\u rolled
是一个不同形状数组的列表。因此,
np.array
无法将其转换为整数的多维数组

In [235]: x_rolled
Out[235]: 
[array([[0, 1],
        [2, 3]]), array([[2, 3],
        [4, 5]]), array([[4, 5],
        [6, 7]]), array([[6, 7],
        [8, 9]]), array([[8, 9]])]
In [236]: [x.shape for x in x_rolled]
Out[236]: [(2, 2), (2, 2), (2, 2), (2, 2), (1, 2)]
如果省略最后一个元素,则得到一个3d数组:

In [237]: np.array(x_rolled[:-1])
Out[237]: 
array([[[0, 1],
        [2, 3]],

       [[2, 3],
        [4, 5]],

       [[4, 5],
        [6, 7]],

       [[6, 7],
        [8, 9]]])
In [238]: _.shape
Out[238]: (4, 2, 2)
很容易被铸造成浮子

np.array(x_rolled[:-1]).astype(float)

我怀疑你的滚动函数没有按你所希望的那样工作。

np.concatenate(x\u rolled)给了你什么?np.concatenate(x\u rolled)给了你什么?