在numpy中将文本文件导入为矩阵

时间:2015-04-14 13:56:54

标签: python numpy matrix

我是python编程的新手,所以对于大多数专业人士来说这看起来很容易。我有一个以下格式的文本文件。我想只将数字导入矩阵。这意味着我不想要空格(每行的开头也有空格)和数据标签。

 1 1 1 1 1 1 1 data_1
 1 1 1 1 1 1 2 data_2
 1 1 1 1 1 2 1 data_3
 1 1 1 1 1 2 2 data_4
 1 1 1 1 1 3 1 data_5
 1 1 1 1 1 3 2 data_6

1 个答案:

答案 0 :(得分:10)

使用numpy.loadtxt,它假定数据默认由空格分隔,并使用参数usecols指定在构建数组时使用哪些字段:

In [1]: import numpy as np
In [2]: matrix = np.loadtxt('matrix.txt', usecols=range(7))
In [3]: print matrix

[[ 1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  2.]
 [ 1.  1.  1.  1.  1.  2.  1.]
 [ 1.  1.  1.  1.  1.  2.  2.]
 [ 1.  1.  1.  1.  1.  3.  1.]
 [ 1.  1.  1.  1.  1.  3.  2.]]

如果您希望矩阵元素为整数,请将dtype=int传递给loadtxt