将行的一部分提取为numpy数组

时间:2014-10-25 02:42:48

标签: python arrays numpy

我有一个内容为:

的文件
1 a 9 11 22 33 44 55
2 b 4 99 88 77 66 44
3 c 8 88 33 22 55 22

我想解析文件并将其作为

提取到2个numpy数组中
letters = [a b c]
values  = [[11 22 33 44 55], [99 88 77 66 44], [88 33 22 55 22]]

我怎样才能以最有效的方式做到这一点。目前我正在使用for循环,如果我使用numpy.loadtxt()。由于数据类型的不同,我需要读取文件两次。

我的代码是:

letters = np.loadtxt( train_file, usecols=[1], dtype=str)
values  = np.loadtxt( train_file, usecols=range(3,7))

1 个答案:

答案 0 :(得分:0)

一种方法是读取所需的列,然后将它们分开,如下所示:

data  = np.loadtxt( train_file, usecols=[1]+range(3,7))
letters=data[:,0]
values=np.delete(data,0,axis=1)