我有一个文件,它看起来像这样读取二维数组与混合数据
864 | 85 | '[150, 145, 110, 99, 95, -10] | ....
我可以读取这些数据作为
np.genfromtxt(neighbors_file, delimiter = '|', dtype=(int, int, '|S66'), usecols=(0, 1, 2))
这给了我与每一个line
数组作为一个元组数据
d = array([(864, 85, '[150, 145, 110, 99, 95, -10]'),
(864, 92, '[160, 147, 97, -22]'),
(864, 94, '[186, 146, 144, 114, 106]'), ...,
(3376, 734, '[733, 532, 531, 528, 524, 521]'),
(3376, 735, '[742, 673, 611, 529, 514, 513]'),
(3376, 742, '[735, 611, 533, 514, -15, -16]')],
dtype=[('f0', '<i8'), ('f1', '<i8'), ('f2', 'S66')])
现在我必须迭代使用索引d[i]
代替你的行第一列为
d[:, 0]
,第二列为d[:, 1]
。
有什么想法?
预期的输出是什么? –
您可以使用列名访问结构化数组,例如>>> d ['f0']#array([864,864,864],dtype = int64)... >>> d ['f1'] #array( [85,92,94],dtype = int64)>>> d ['f2']#array([b'[150,145,110,99,95,-10]',snip ... b'[ ',dtype ='| S66') >>> – 2016-04-14 13:40:02