从文件中读取3d数组

时间:2013-07-12 15:55:18

标签: python numpy

假设我有一个包含以下值的文件:

1 2
3 4

11 12
13 14

我想把它们看成是一个numpy 2x2x2数组。标准命令np.loadtxt('testfile')以大量向量忽略空格(4x1x8)来读取它们。我想我可以迭代它们并以正确的方式将它们堆叠在一起,但是我的实际数据文件非常大,如果可能的话,宁愿没有太多的while循环。在numpy系统中有一个很好的方法吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

使用reshape

>>> import numpy
>>> a = numpy.loadtxt('testfile')
>>> a
array([[  1.,   2.],
       [  3.,   4.],
       [ 11.,  12.],
       [ 13.,  14.]])
>>> a.reshape((2, 2, 2))
array([[[  1.,   2.],
        [  3.,   4.]],

       [[ 11.,  12.],
        [ 13.,  14.]]])