Python 如何轻松地将numpy.ndarray转换为numpy.array列表?
我目前正在努力将一些数据解析到培训框架中 问题是该框架无法处理ndarray。我需要转换成数组的列表。输入和输出数据当前存储为numpy.ndarray的两个独立列表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
假设
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
是2Dnumpy.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]得到的示例输出