我正在使用pyresample进行插值,并且有如下循环:
for l in range(len(lf[:,0,0,0])):
for k in range(len(lf[0,:,0,0])):
lf_nearest = pyresample.kd_tree.resample_nearest(origin_def, lf[l,k,:,:], target_def, radius_of_influence=50000, fill_value=0.5)
因此,如您所见,我为原始变量“ lf [l,k,:,:]”的每个l和每个k计算了“ lf_nearest”。 我如何才能从这些循环中附加所有这些值,以便最终获得4D lf_nearest [l,k,:,:]?
答案 0 :(得分:1)
Python中的基本迭代分配-通过列表进行演示:
In [159]: alist = [0,0,0,0,0]
In [160]: for i in range(len(alist)):
...: alist[i] = i*i
...:
In [161]: alist
Out[161]: [0, 1, 4, 9, 16]
或带有二维数组:
In [162]: arr = np.zeros((3,2),int)
In [163]: arr
Out[163]:
array([[0, 0],
[0, 0],
[0, 0]])
In [164]: for i in range(arr.shape[0]):
...: for j in range(arr.shape[1]):
...: arr[i,j] = 10*i + j
...:
In [165]: arr
Out[165]:
array([[ 0, 1],
[10, 11],
[20, 21]])
但是首选方法是使用全数组操作,而不是迭代:
In [166]: np.arange(0,30,10)[:,None] + np.arange(2)
Out[166]:
array([[ 0, 1],
[10, 11],
[20, 21]])