我想从某些字段中获取信息,然后使用列表将它们写入另一个变量。
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 循环?