ND一维阵列的二维阵列

时间:2014-01-24 01:10:12

标签: python arrays numpy

我有一个大型列表文件,其中包含通过numpy.save腌制的2D numpy数组。我正在尝试读取每个文件的第一列并创建一个新的2D数组。

我目前使用numpy.load使用mmap阅读每列。 1D数组现在列在列表中。

col_list = []
for f in file_list:
    Temp = np.load(f,mmap_mode='r')
    col_list.append(Temp[:,0])

如何将其转换为2D数组?

3 个答案:

答案 0 :(得分:23)

可以重新创建数组:

a = np.array(a.tolist())

答案 1 :(得分:22)

您可以使用

numpy.stack(arrays, axis=0)

如果你有一个数组数组。如果要堆叠列而不是行,可以指定轴。

答案 2 :(得分:20)

您只需在一维数组列表中调用np.array即可。

>>> import numpy as np
>>> arrs = [np.array([1,2,3]), np.array([4,5,6]), np.array([7,8,9])]
>>> arrs
[array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])]
>>> arr2d = np.array(arrs)
>>> arr2d.shape
(3, 3)
>>> arr2d
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])