【发布时间】:2015-10-13 04:34:59
【问题描述】:
我想从某些字段中获取信息,然后使用列表将它们写入另一个变量。
import numpy as np
var1 = np.array([(1,2,3,4),(11,22,33,44),(111,222,333,444)], dtype=([('field1', 'int32'),('field2','int32'),('field3','int32'),('field4','int32')]))
var2 = np.empty((1), dtype = ([('field1', 'int32'),('field2','int32'),('field5','int32'),('field6','int32')]))
myList = ['field1', 'field2']
我想将第一个和第二个字段以及第一行的值写入 var2。我尝试以下方法:
var2[(myList)] = var1[(myList)][0]
但我收到以下错误:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
如果我执行,我想达到同样的效果:
var2['field1'] = var1['field1'][0]
var2['field2'] = var1['field2'][0]
我怎样才能做到这一点,以便能够在更高的列表中执行此操作,避免列表上的 for 循环?
【问题讨论】:
标签: python numpy field multiple-columns structured-array