Python 如何轻松地将numpy.ndarray转换为numpy.array列表?

Python 如何轻松地将numpy.ndarray转换为numpy.array列表?,python,arrays,python-2.7,numpy,Python,Arrays,Python 2.7,Numpy,我目前正在努力将一些数据解析到培训框架中 问题是该框架无法处理ndarray。我需要转换成数组的列表。输入和输出数据当前存储为numpy.ndarray的两个独立列表 输入数据必须转换为numpy数组列表,其中每个数组包含一列ndarray 必须将输出数据转换为numpy数组列表,其中每个数组包含ndarray?的行 可以把它转换成这个吗 当我打印列输出数据[0]时,我得到: 假设ip和op分别是输入列表和输出列表 newInput = [ip[:,i] for i in range(ip.sh

我目前正在努力将一些数据解析到培训框架中

问题是该框架无法处理ndarray。我需要转换成数组的列表。输入和输出数据当前存储为numpy.ndarray的两个独立列表

  • 输入数据必须转换为numpy数组列表,其中每个数组包含一列ndarray

  • 必须将输出数据转换为numpy数组列表,其中每个数组包含ndarray?的行

  • 可以把它转换成这个吗

    当我打印列输出数据[0]时,我得到:


    假设
    ip
    op
    分别是输入列表和输出列表

    newInput = [ip[:,i] for i in range(ip.shape[0])]
    newOutput = [x for x in op]
    
    如果
    train\u output\u data
    train\u input\u data
    是2D
    numpy.ndarray
    的列表,则可以选择

    newInput = []
    for ip in train_input_data:
        newInput.append([ip[:,i] for i in range(ip.shape[0])])
    
    newOutput = []
    for op in train_output_data:
        newOutput.append([x for x in op])
    

    如前所述,使用
    list(a)
    list(a.T)
    ?我不知道转置在这里有什么帮助?转置带来了第二个轴,我们将COL作为第一个轴,因此当放入
    list()
    时,将创建COL列表。为什么不试试呢?如果它不能解决这个问题,那么放一个样本数组和期望的数组列表怎么样?@Divakar谢谢你的解释!我不认为这对问题有好处,如果我两个都这么做,我只需要一个。。但是哪一个呢。列出的numpy.array是逐行存储还是逐列存储?@CarltonBanks您不能试试吗?例如,
    a=np.array([[1,2,3],[4,5,6]]);列表1=列表(a);list2=list(a.T)
    ,然后查看哪个是您想要的。您可以在交互式python会话或更好的ipython会话中执行此操作。我想您必须为添加一个外部for循环,使其在具有多个ndarray的列表中运行。@CarltonBanks:您说过输入和输出数据当前存储为两个单独的numpy.ndarray列表。如果只有两个列表,输入和输出各一个,那么上面两行就足够了。。。是的,但无法调用ip.shape[0]。因为Ndarray被附加到列表中。您可以调用ip.shape[0]。shape[0]。。但这只适用于那个实例?@CarltonBanks我需要知道输入的维度和数据类型规范。Ndarray列表指的是二维数组列表还是一维数组列表?您能给出一组输入输出的示例吗?我添加了一个通过打印列输出数据[0]得到的示例输出